Well, there are many ways to lv up quickly. You can get everyones number and challenge them to a battle (including gym leaders). You can keep battling red and lose till you get your pokemon to a high level, you can do so with elite four. After you defeat him get his phone # and try to keep challenging him
My way is to defeat the elite four then go to mt silver and found every patch of grass just remember to have rock climb and surf. Kill every pokemon you found if you can! Ones you got to red hopefully give your pokemon the exp share to hold or you can battle with the pokemon you want to train with but have it a high level.if you are stating out just keep battling.tip if you have the amulet coin it will be a good choice to let your pokemon hold it...
I'm pretty sure that there is an egg called "The Lucky Egg" give it to the pokemon fighting and it will raise the amount of exp it gets by a lot.