The way I train them is you should battle them with rock or ground types and if you know your Pokemon is going to beat them then let them hold the exp. share to double their exp. points.
The best water Pokemon can be any it depends on how well you train it by Aran
use water Pokemon and train it's in the first city town whatever use water Pokemon and train it's in the first city town whatever
grass
The 8th gym uses ground and fighting type Pokemon such as Rhyhorn and Machoke. You should train up water, grass and flying types for the gym. For grass Pokemon train them fighting the trainers between Cinnibar Island and Pallet Town. Most of the trainers there will be using water Pokemon. For water and flying Pokemon, since you will have beaten the 7th gym by now, you can train on One Island, fighting the wild fire and fighting Pokemon there and also the trainers.
train... train...TRAIN...
Train it as you train all pokemon.
You need to have a water Pokemon and train it to level 20-30(I have a squirtle)
You an train Pokemon in the grass
Easy. Catch and train water/grass Pokemon, and if it's strong enough, you can use typhlosion. I know from experience. He's not THAT hard to beat, but to me, he was, since I used weaker Pokemon to train them. But, if you use water/grass Pokemon moves, it should work out for you.
Around the vicinity of celadon city.
Train at victory road
you train Pokemon by letting it battle other Pokemon or you can feed it rare candies.