Well, I would suggest Vaporeon as a water pokemon if you didn't choose Squirtle in the beginning. If you take it to the Elite Four, it's bite could help you with Agatha, and it's Aurora Beam will be a major help in defeating Lance.
Another good pokemon is Raichu, because of it's speed. And, if you teach it Thunderbolt, you're good to go.
Good fire Pokemon are Arcanine and Rapidash because they have exceptional speed, and Rapidash can learn some good moves.
If you want to have a Dragon pokemon that you can raise throughout the game, you should save up a lot of money and get a Dratini at the Game Corner. At least, that's what I did. It can be kind of a butt to raise at first, but, it's worth it...
Annd, what elllsee...? Venasaur is a good pokemon, but, if you didn't start with him/her, then, Victreebel or Vileplume would be good if you want some grass pokemon...
And, Pidgeot's an awesome bird pokemon with the right move sets.
