Comparing to the average is allways more fair than comparing to the opposing trainer's highest levelled. So, if your opponent's levels are 43, 43, 45, and 47, it makes more sense to go with all your team at 45 than with everyone at 47.
The Elite Four is a special case. In the first four regions the level curve is just stupid, so balancing your team around champion's levels means being overlevelled against at least the first two or three E4 members. The only way to keep your levels balanced against the entire E4 in those games is by using Rare Candies in between battles.
That said, the point of not overlevelling is to keep battles as fair as possible, however there are many more things to keep into account for that, not just levels. Ultimately, you're free to set up your rules and determine yourself what would be the "right" way to play.
Many players have our personal rules, and winning a battle without respecting those rules means in our headcanon that we didn't actually win, even if the game says we did.