Once you have Cobalion, Terrakion and Virizion, Train them to around level 200 against "TR Gym L6500" using Guillotine just like the Durant earlier.
Once they're around level 200, give each of them a Leftovers and teach them these moves:
Basically if the first pokemon at the Generation Tower is a ghost type, you need to restart as Flash doesn't affect them.
Use Flash 3 times on the first pokemon, then use Minimize 6 times with all 3 of your pokemon, (if any of them faint during this tedious process, restart),
Swap to Virizion, use Flash 3 times then Ancientpower 6 times, then for every pokemon they send out, use Flash 3 times then either use Shadow Force or Ancientpower (or Seismic Throw if they have a tanky pokemon with leftovers such as Blissey or Snorlax) Hopefully when you get to the Gold Pokemon, you should have all 3 of yours left, make sure you use Flash 3 times on each Pokemon, or you will get one-hit, just keep going.
It's basically the same with Keldeo, if you survive long enough to use 3 Flashes, you've won, but you need Seismic Toss to win this one, as Keldeo heals all the damage Shadow Force and Ancientpower can do using it's Leftovers :(
and hopefully you can do better than this:
Thanks for looking/reading my guide, just thought I'd help the people out there who struggle with this Battle Tower. :)