Ice type Pokemon can easily defeat lance's Pokemon also for his gyrados and aerodactyl you can use an electric type.
Chat with our AI personalities
You can beat the Elite Four again, and battle Red again. If you beat lance and the elite four and Lance again then you are able to face Red at mt silver.
What you need is a feraligatr.and then a gyrarados at level 45 or higher and then at least 2 ice Pokemon at level 45 or higher and then you should get a dratini and evolve it into a dragonair and then evolve it into a dragonite which is at level 55 and one of the legendery Pokemon like entei HO-OH or raikou. That is one of the best ways to beat lance well that's how i beat him.
Use surf or thunder. Make sure your Pokemon is around level 60
In mahogany town where he will want help to beat team rocket there
If you help Lance beat Rocket in Mahogany town, you will receive it.