Dealing with Lance isn't that bad. Gen 2 lets you buy Ice Punch, which goes nicely on Kadabra/Alakazam, Feraligatr, Jynx, Slowbro, etc. You are also given Icy Wind from beating Pryce. If you are playing Crystal, you will almost certainly have Suicune that learns Aurora Beam at Level 41. Lapras is also an option although requires a guide/info to know how to get it.
As for having a team of shitmons...you are forgetting that the game is generous in terms of the Gen 1 Pokemon that you can get. Gen 2 Pokemon are surprisingly more rare, but there are a few good picks. Before facing the Elite Four, you do have a fair selection including...
Normal Type: Tauros, Miltank, Ursaring Fire Type: Typhlosion, Magmar, Entei, Ho-Oh Water or Ice Type: Gyarados, Feraligatr, Lapras, Suicune, Lanturn, Jynx, Mantine Electric Type: Ampharos, Lanturn, Raikou Psychic Type: Kababra/Alakazam, Jynx, Espeon, Luiga Fighting Type: Machoke/Machamp Ground or Rock Type: Graveler/Golem, Donphan Dark Type: Umbreon
Luiga and Ho-Oh you can only get before the Elite Four in Silver/Gold respectively. As for the Legendary Beasts, outside of Suicune in Crystal, the game gives you a Master Ball for a reason. Use it on whichever one you want.
I'm sure I'm forgetting a few more viable picks, but that's just off the top of my head. Pick a few and you are good to go.
This reminds me that one thing I love is how consistently good the Gen 1 trade Pokemon have been, atleast for in-game. Later trade mons haven't necessarily lived up to their precedent, but all of Golem/Alakazam/Gengar/Machamp basically mow down any game you can get them in.
I'll never forget when Machamp got No Guard, so that things like Dynamic Punch couldn't miss, which just made him utterly broken for the regular game.
---
Seplito Nash, Smelling Like the Vault since 1996 Step FOUR! Get Paid!