I think the main problem is that you are using Pokemon that haven't reached their full potential. It's true that there is no need to over train your Pokemon to Level 100 as they will revert back to Level 50 and keep the stats that they had when they were at that level. Super Training is one way to help increase your Pokemon's stats, but in order to win, you are going to have to breed for your team to be considered a threat in the game. Take Mega Kangaskhan for example. It is in fact true that Mega Kangaskhan is considered OP in the current metagame, if you breed for a perfect Kangaskhan in the first place. There are two concepts that you will need to know when it comes to a Pokemon's stat. These two concepts are EVs and IVs. EVs are the Effort Values that are added towards a specific stat when you battle against a specific species of Pokemon or feeding your Pokemon vitamins such as Protein, Calcium, Iron, etc. EVs are the easiest to understand and actually implement to your Pokemon as there is Super Training, horde battles, and vitamins. However, IVs are unique to each and every Pokemon and in order to get the best IVs for your Pokemon, you are going to have to breed for them.
Each Pokemon has a unique set of IVs that can't be altered once you have caught or obtained the Pokemon, thus the best IVs can only be obtained by breeding two Pokemon with high sets of IVs. Each stat that every Pokemon has (HP, Attack, Defense, Special Attack, Special Defense, and Speed) can have a maximum of 31 IVs. Each IV point adds a single point to the stat base and while 31 points may not seem like a lot, it really could really be the difference between able to survive the turn and deal massive damage to the opponent or being just a bit fragile enough to be winning and losing the battle. First thing to do is find someone with a 6 IV Ditto. Luckily, I have an extra Ditto in my PC and I'll gladly lend it to you until you are done (either way, I need to wait for my 3DS to return from Nintendo's repair shop) breeding your perfect Pokemon. When you receive an egg after your successfully were able to find two compatible Pokemon to breed with (which shouldn't be hard with the 6 IV Ditto), make sure you have a Pokemon with the Flame Body ability (Talonflame is the best Pokemon since it has Flame Body and can give you transportation using Fly) to quicken the hatching process by half the required amount of steps. The next step to do is to use Fly to reach Kiloude City and enter the Pokemon Center of that city. On the left side of the Pokemon Center, you should be able to spot an Ace Trainer who goes by the title Pokemon (IV) Judge. I took the liberty of inserting the quotes that the judge will say depending on your Pokemon's IVs.
I also recommend to check out both the
EV thread and
IV thread for more information on how to proper breed a Pokemon suited for competitive battling. Hopefully this helps out and if you need that Ditto, just send me a VM or PM and I will respond as soon as possible.