The objective best team in G/S/C is as following:
1. Chikorita -> Bayleef -> Meganium
Learns Flash and Cut, is naturally bulky and gives the next Pokémon the best possible rival matchup.
2. Geodude -> Graveler
Breezes through the early gyms, has a good match-up against your rival, Team Rocket and loads of neutral trainers. Never stops being useful, beats half of Red's team on its own.
3. Abra -> Kadabra
Fast and powerful. Can be bought in Goldenrod or caught on nearby routes. Teach it all three elemental punches right away, and let the fourth move be Confusion -> Psybeam -> Psychic.
4. Spearow -> Fearow
Gift Pokémon found on Route 35. Levels up quickly. Give it a haircut and teach it Return. Drill Peck comes relatively late, but is a decent secondary move. Will Fly you anywhere.
5. Gyarados
Caught in Lake of Rage. Teach it the remaining HM moves. Surf and Strength are 100% accurate, reasonably strong and have perfect coverage between them, the rest is filler.
6.
???