Well, let me just say, Mt. Silver is the one place in the game (HG/SS) with wild Pokemon around level 50.
If you have a low-level Pokemon, give it an Exp. Share and have him at the front of your party. Once a strong wild Pokemon, immediately switch out the weaker one for a stronger one and take down the foe. With a just-hatched Pokemon, for example, you could could see it go to level 9 after one battle in Mt. Silver easily.
From trainer battles, the best is still to line up a match with Gym Leaders or the Elite Four, or even Red.
If all else fails, there are Rare Candies. Just keep listening in on Buena's Password and she'll give you a Rare Candy every time you get 25 points on your Blue Card.