Since I normally take Cyndaquil, I add a Pidgey to my team ASAP, then a Geodude, then a Mareep and a Jynx. The 6th memeber tends to be either a HM slave, a Machoke or a Dragonite. Sometimes I use a Kadabra there.
Cyndaquil covers Steel, Bug and Grass as well as Ice while Pidgey line covers also Fighting and even Rock since it can learn Steel Wing which would let it sweep Rock types due to speed advantage.
A well-trained Geodude is awesome against Electric, Poison (includes the Ghastly line); while ground attacks are good against Steel it is weak against Steel itself. It can also deal with Flying types and is a decent tank otherwise.
Mareep is effectively a slower, very tanky Pikachu. It has amazing Sp. Atk. and easily oneshots Lance's Gyarados even at lower levels, and if I go with the Cyndaquil it is also my "secret weapon" against Silver since you can get him before the second battle where the type advantages come in play.
Jynx is a freezing murder-machine, he is the reason why Lance hates me so much.
I mean, Dragonite? sure, how about quad Ice damage, punk?
As for the rest, Machoke is like good against that Miltank and I am planning on using him against Red's Snorlax. He also covers Steel type while not being weak to it.
Kadabra has massive Sp Atk so is good too.
Dragonite was a bit of a disappointment for me but oh well.
I am doing another run picking grass starter so I have to rely more on Pidgey line which covers the 2 of the types Fire normally covers and Geodude/Machoke for Steel.
I am yet to do a run with Water though.