OK so I just thought of this idea and i'm really proud of myself. (Yes I have no self-worth, sue me.)
How to Make Gym Battles Tougher in later Generations:
1. Challengers are only allowed to use the same number of Pokemon as the Leader.
2. Challengers' Pokemon cannot exceed the highest level of the Leader's Pokemon.
Now the biggest kickstart to this idea was the complaint that Gen VI Gym Battles were too easy. Well, of course, Exp Share was turned on! When I turned off Exp Share, my Pokemon were only slightly overlevelled than the leaders', and only because I also battled a ton of wild POkemon along the way instead of running. I was also inspired by the Pokemon World tournament, where I faced so much difficulty in taking the leaders down.
This makes monotype runs more interesting and fun - of which I am a big fan of - and it gives an added in-game idea of fairness for both challenger and leader. Now, of course, the challenger is the challenger, so he can use as many items as he wants. I remember the times of Re-Reviving my strongest fainted Poke in dire times, and that's something that is a hallmark of Pokemon.