Squirtle.
Especially due to gen 1 being stupid. At the elite four you become unstoppable with Earthquake, fissure, Blizzard and Seriously who cares about the 4th move. Those 3 alone are enough to destroy the elite four. Why fisure? Because Blastoise is a tank who can take a couple of hits while you use an X speed and an X acuraccy at the start of the fight, then proceed to oneshot any pokemon that isn't weak to your other attacks.
Bulbasaur worked really well in gen 1 because gen 1 was stupid.
AKA... sleep was stupid, critical hit was EXTRA stupid. Razor leaf + dire hit = WTF.
So... in general I like squirtle the best since he has in general the best movepool.#
The main reason I don't really like charmander though is because even though he has some nice moves, he can't really learn any ice moves (my favourite move type) and he doesn't have any annoying stuff like bulbasaur can.