Paulbot, that grass south of Mahogany town (? the town with the Dragon Gym) is an alright place to train, just have a Pokemon with fly on it to fly you back.

Training in HG/SS is a pain, have you switched out your starter, because I found that it is usually at good levels for the game as long as you have it in your team fairly constantly. If you have D/P/Plat, why not trade over and train them on that game?
One Ice Pokemon should be enough to help you get through that gym.

As for B/W, not sure which I'll get and I dont really like any of the starters, I normally go grass, but Snivy is weak and boring, the grass has such a tiny movepool and is slow as anything, and the water stater is just very average in everything.