It highly depends on your level as a player. For those who already knows the weaknesses and strengths of every hero and has fast hands an intelligence or agility type hero is a good pick. invoker for me is the best int type hero as you have more than 4 skills to choose from. If you are fast enough, you can spam all his skills and eliminate even the toughest heroes with ease. Tinker is also one of the strongest intelligence type heroes due to his last skill which acts like a refresher orb.
The strongest agility type hero for me is Phantom Assassin.. He can easily reach 1K crit even with just a few luxurious items. The only thing left for you to do is buy a black king bar and almost no hero can stop her. She also has a dodge skill so physical attacks won't be so much effective unless the enemy hero has a monkey king bar.
On the other hand, if you are new to DOTA, the best hero to pick are strength types. Centaur Warchief is the best pick in my opinion due to his excellent innate tanking capabilities. He can also kill as well. A Centaur Warchief even if controlled by a newbie can still bring upon great impact in a game played by pros.
If the game is really serious or if I bet our house on it, I'll most likely use Magnataur or Shadow Fiend. Both are excellent mid lane heroes who can do well in every stage of the game. I highly recommend Magnataur as you can kill all enemiues in less than 5 seconds with the right build.
My Tip For Magnataur:
starting items: 3 ironwood branch 1 chicken 1 tango 1 salve 2 clarity potions
stay on the mid lane and spam your first skill to make money... After buying a crow and bottle, aim for Power Threads and Mask of Madness. Kelen's Dagger and Battle Fury comes next.. Then Buriza Do Kyanon..Assault Cuirass will complete your inventory. With these items, you won't have any problem eliminating the whole enemy team on your own.. ahaha
Good luck in your DOTA games.