Just try to figure out what skill your Pokemon is best at and teach him the right moves that benefit that skill.
For example, Gyarados is REALLY good at the Attack stat. You're OBVIOUSLY not going to teach him any Special Attacking moves like Surf or Dark Pulse, as they wouldn't be as powerful. You'd want to go with attacks like Waterfall, Return, stat boosters like Dragon Dance, maybe U-Turn for a hit and run, whatever. You get the picture.
Another example would be a Special Attacking dude like Gengar. Having him know Shadow Punch is a HUGE waste of a move slot, as all his power lies in special attacks instead of physical power. So you'd go with Thunderbolt, or Substitute for protection, Energy Ball for more coverage, etc.
When teaching your Pokemon new moves, just try to keep in mind that every single Pokemon (besides Spiritomb and Sableye I guess...) has a weakness. You'll want to teach your Pokemon very diverse movesets to counter such types when you battle them. Having all 4 of your moves be the same element is probably a bad idea, unless you WANT to get OWNED. Have some moves that benefit your Pokemon with different move types. Like having a Conkeldurr that knows Payback, a fighting type move, and Rock Slide. Payback covers its Psychic weakness, a fighting type move for STAB and ownage, and Rock Slide covers the Flying weakness too! Isn't that AWESOME!!!???! Yes.
So yea. Go forth and train your team any way you'd like. Live long and prosper and all that.