1.Find the type of pokémon you want to use.
2.Go catch a fair amount of that type (ex. 15 Bulbasaurs) that are the same level. Compare their stats and you'll notice that they are all a bit different. Separate all of the ones with the highest stats. Release the others.
3.Use rare candys (MissingNo trick) to level them up to level 100. You'll notice that even if their stats were the same when you caught them, they will be different now. Pick the one that has the highest stats (ones favorable to you) and release the others.
4.Now comes the hard part, take this pokémon, and beat the elite four with mostly just it, so it gets a lot of experience. When you beat the game, fly back to a pokémon center, deposit it into the computer and take it back out again. You'll notice that its stats will have gone up 1 or 2 each. Repeat as much as you want, but after about 20 times they will stop going up. I realize that this takes a long time, but it is well worth it.
Note:I have only tested this on Mewtwo since it takes a long time, but there is no reason why it should be different on any other pokémon.