Usually I train as I go along. If there's something I can't beat because my team is at a low level (like the Elite Four the first time, not Red since he is soooo easy to beat) I just keep trying to beat them without using any items and with little money. When I lose I keep half, buy a few more items with it and go for them aagin. once I actually won the first time I decided to have a go at them.
I'm finished here...
Special thanks to Yossy666 for the avatar and signature images.