well you should try to raise pokemon in a lot of different types, you should have water, electric, flying etc.. in other words, dont have pokemon in too similiar types... Pay attention to the special ability of your pokemons, i used to have Tropius and Groudon, groudon intensifies the sunlight which makes Tropius faster and solarbeam needs no charge up, and other attacks get stronger, considering tropius is flying/grass i think Groudon and Tropius is a perfect combination.
You can add items to your pokemon, some boosts the damage of certain types of attacks, some do something else. When you have a item, go to the backpack, press A on the item you want, then press "Give" and then give it to a pokemon that fits it well. if you have a thing that reduces speed but boosts attack, you should give it to your fastest pokemon.
If you have time and stamina, fight with all pokemon possible, even wild (maybe not if your pokemon are on level 52 and the other one your fighting against is level 4), try to train as many pokemon as you can, at least one with every type (or at least so you have strong attacks of every type), then it will be easier to beat trainers.
Make sure you always have healing potions with you, also revives, and Full Heals. If you want you can have X items (ie. x attack, x accuracy and so on) with you and escape ropes (if you havent a pokemon with you that dosen't know dig or teleport). Also, Ultra balls you should always have with you.
Dont give certain HM's to your primary (party) pokemon, I have certain pokemons that know them all. Good HM's are Fly, Water, Strength and so on. Bad HM's are Rock smash etc. (decide yourself what you like the best.). The catch is you have to return to a poke center if an obstacle is in the way (like a tree or rock) to get the pokemon you need, this pokemon uses to be weaker than the other ones in your party too, so you should train it too.
Make sure that the stuff you dont need dosent lie in the backpack, put them in the computer so they dont take up unnesseray space.
only use rare candys if you're sure you are going to use this pokemon as primary (if you want to). Make sure the pokemon dosent have any experience in the level theyre in, because when you use a rare candys they just go up to the next level, so if the experience bar is 98% full, dont use it, because then the rare candy wont do any good, just use it when the exp bar is empty.