Well, there aren't a huge amount of things that I find are essential, and I often enjoy experimenting with a team of mis-matches when the mood takes me, which can often end with surprising results, both good and bad. But there are a few things I try to do when I'm taking the game seriously.
The Four Base Elements - And by this, I mean one Pokemon from each of these types. Fire, Water, Grass and Electricity. Using this, you can cover each others weaknessess easily, managing a wide array of different attacks.
Starters - An easy Pokemon to retrieve which is usually of a type not found easily early in the game, unless of course you chose the Grass type. Usually my choice would be the Fire type as they seem to be becoming increasingly rare in the Pokemon world, and it sets you up with a decent combatant against the some-what common Bug-types in the early game stages.
Double Typing - A Pokemon with more than one type - in my opinion - is better than one with only a single element. Dual typing allows for further STAB moves, and usually a wider array of tactics and abilities for the user. While you may face the downsides of having further weaknesses (or less if you're lucky), it is brought back with a greater chance to fight with a higher likelyhood of approaching a foe in which an attack would be super effective.