Before I play the game, I make a plan about what the final product of the team I want to create will be, and then I use PokéSav to give myself a level 5 and unevolved version of each member of my team (with each Pokémon starting with the moves they normally have at level 5, plus any neccessary Egg moves if my Pokémon is to have them at the end). For example, a while ago, I played Pokémon Platinum and used PokéSav to give myself a level 5 Magikarp, a level 5 Aerodactyl, a level 5 Charmander and three level 5 Dratini at the beginning of the game, so that I could raise them into a team consisting of Gyarados, Dragonite, Dragonite, Aerodactyl, Charizard and Dragonite at the end of the game, while more recently I played Pokémon HeartGold, using PokéSav to give myself a Bagon, a Gible and a Dratini at the beginning of the game each at level 5, as I wanted to raise a Salamence, a Garchomp and a Dragonite. I then play through the game, setting the battle mode to "Set" instead of "Shift", and battling only with the Pokémon which are to become members of my final team (I do not battle even with the legendary Pokémon that I catch along the way), while raising those Pokémon evenly in a very strict and particular order. What this means is that I start off with all the Pokémon in my party being on the same level. Then I raise one Pokémon so that it is one level higher than all the other Pokémon in my party, and then I switch to another Pokémon and raise it until it matches the level of the Pokémon I trained before. I then switch to another Pokémon and repeat, until all the Pokémon in my party are the same level again, and then I switch back to using the first Pokémon I battled with. For example, in the Pokémon HeartGold playthrough in which I started off with a Bagon, a Gible and a Dratini, the first Pokémon I battled with was Dratini, and I continued using it until it grew to level 6, at which point I switched to Gible, raised it to level 6, switched to Bagon, raised it to level 6, and then switched back to Dratini. The only exception to this rule is when I am battling an important trainer such as a Gym Leader, my rival (if I know that he will show up at a particular point in the game, meaning that this does not apply on the very first time I play a game), an Executive/Commander or the Boss of Team Rocket/Galactic, or the Champion, in which case I always position the Pokémon in my team in the opposite order to which I normally train them, meaning that I order my team such that the first Pokémon I train when all the Pokémon in my party are the same level is always on the final spot on my team (out of all the Pokémon that I train. So for example, in my Pokémon HeartGold playthrough, I placed Dratini on the third spot on my team, while in a playthrough in which I am using six Pokémon, the first Pokémon I normally train will be in the team's sixth spot), while the last Pokémon that I normally train will be on the first spot, regardless of the current levels of my Pokémon. Doing this has very often overleveled one Pokémon in comparison to its teammates, in which case I just stopped using the overleveled Pokémon until its teammates caught up to its level, and then proceeded as normal.
I usually try to catch as many Pokémon as possible at the beginning of the game, even though I know that I won't be using any of them in battle. However, as I progress to the later half of the game, I usually get bored with catching Pokémon, and at that point I'll either defeat any wild Pokémon I encounter to give the Pokémon that I intend to raise experience points, or escape from them if they don't offer enough experience points to be worth defeating (or, more often I'll even use Max Repels in places where I am likely to encounter many wild Pokémon, such as Mt. Coronet in Pokémon Diamond and Platinum, and Tin Tower in Pokémon HeartGold). If it is the first time I am playing a game taking place in the same region (for example, when I played Pokémon Diamond, the first Generation IV Pokémon game for the first time), I will talk to every person, pay attention to everything other trainers say, battle every trainer, and visit every house and location possible, in order to enjoy the story as much as possible. On the second time in which I play through the same region (such as when I played Pokémon Platinum), I still pay attention to what trainers and important people (particularly Cyrus, a character who I really like) say, though I will not do things like visiting every house and location, or talking to every person, though I still battle every trainer possible just for experience points. Generally, I play through the game considerably faster if I've already experienced the story before. I also don't teach any of the Pokémon that I raise any HM moves unless I want that move in my Pokémon's final moveset anyway. This means that if I am raising six Pokémon and encounter a situation in which I must use a HM move to proceed through a part of the game, I will have to temporarily deposit one of the Pokémon in my party (which is always the highest-leveled Pokémon in my team at that point. If more than one Pokémon has the highest level in my team at that point, I will deposit the Pokémon that most recently reached that level) and replace it with a Pokémon that can learn the HM move. After passing the point in which the HM move is required, I will immediately deposit the Pokémon that knows the HM move at the next nearest computer and withdraw the Pokémon in my team that I deposited before. However, I will always carry Pokémon that know HM moves if I am raising less than six Pokémon. However, I will deposit all Pokémon other than the ones that I intend to train when I battle the Elite Four, so that only they show up in the Hall of Fame, in the opposite order to which I train them (since, as I've said before, I reorder my team and make it that way before battling the Champion). I also try to make all the Pokémon in my team at the same level in the Hall of Fame, using Rare Candies just before battling the Champion if neccessary.
I also plan to play Pokémon SoulSilver, starting off with Rayquaza, Dialga, Ho-oh, Giratina-O, Mewtwo and Arceus, all at level 1 instead of level 5 (to make the game more challenging, since these legendary Pokémon don't have pre-evolutions, meaning that the first half of the game (as well as the entire game itself, though to a lesser extent) would be way too easy if they started off at level 5. It will most likely still be extremely easy even at level 1 due to the power of these Pokémon, though for some reasons I just really want to play through the game with six very powerful legendary Pokémon just once) when the English version of the game comes out, as I've already completed the Japanese version of HeartGold, so I want a different (though not new, as I've played Gold, Silver and Crystal many times before) experience.