Tricky question.
Fire types: Blaziken's HA is OP as hell. That probably makes it the 'best' - after one protect, it outruns so much.
Charizard and Typhlosion both have glaring weaknesses - Charizard is weak to rock, and Typhlosion is fairly slow. Mega Char X is decent, but I prefer saving my mega.
Infernape is a fairly decent Revenge Killer BUT he doesn't quite have enough speed and attack to pull it off.
Delphox has a unique typing.... But a lot of weaknesses and not enough speed to counter any of them.
Water types: Again, Greninja's HA, Protean, probably makes it the best.
Swampert is pretty close behind, with only one weakness, an electric immunity (and a weakness to freeze dry). Plus powerful STABs, and a mega evo that fixes his speed in rain.
Empoleon is pretty meh. Far too slow, and the STABS are easily stopped. Blastoise is alright, not the best not the worst. Feraligatr is another one of those meh water types, with too low a speed. I can't comment on Samurott as I've never used it.
Grass Types: Serperior's HA contrary makes it the best offensive grass starter, with leaf storm massively boosting special attack.
Venasaur is a pretty decent wall and fairy counter, even better when mega evolved. Sceptile is a decent sweeper, and mega evolved... Things get very interesting. Mega Sceptile outruns Darkrai, and has a special attack stat only 5 points off Palkia's! Then again it is super frail. Meganium is... Like all the Johto starters, pretty meh. Nice defensive stats, but isn't bulky enough to toxic stall etc.
Overall:
Fire: Blaziken with HA Speed Boost for Uber (or just mega evolve Blaziken for the same effect). For OU, Infernape.
Water: For Ubers, obviously Protean Greninja. Anything else, or water monos, use Swampert. Mega Swampert is great for rain too.
Grass: Mega Sceptile is pretty decent, easily revenge killing huge portions of the OU Metagame. For a non mega sweeper, Serperior with its HA. For a wall, Venusaur.