I have never thought of the Elite 4 as "End Game," just as I never though of hitting level 60 (and later 70, 80, 85) as "End Game" in WoW. Rather it was just another stepping stone. Because of this attitude, I optimized very differently.
First, I found that 3 Pokemon was about the sweet spot for training at a time. Usually this entailed 1 or 2 (xp share, or swapping) I was focusing on, and a third for backup (someone beefy enough to roll whatever area I was in).
Next, I specifically targeted Pokemon whose EVs I could easily raise. There are a couple areas where you can guarantee which EV you'll get, but usually I lead with a Pokemon whose EVs I didn't care about, and then swapped according to what I ran into (in the case of trainers I could set this up more intelligently). As a result, I was usually targeting only 1 or 2 for actual EV leveling. This process would recur every time I got a Pokemon whom I wanted to level (I usually decide these at game start).
Once a Pokemon had been EV leveled, I could then use it as a clean up for other Pokemon's EV leveling. From a pure XP perspective, having a "clean up" Pokemon (sometimes initiator) means that that Pokemon will be receiving more than its fair share of experience. The end result is that usually the Pokemon that I EV train first end up being my strongest (not just because of EVs).
Finally, as I originally stated my end goal is not the Elite Four; rather I'm eventually targeting competitive play. However, EV training other Pokemon doesn't max out my first couple, so ultimately I end up doing runs on the Elite Four to power level them fast. Usually, by the time I hit my first run I have 4-5 beefy Pokemon fully EV trained, so it's not a major challenge. However, sometimes I haven't spent enough time and that usually means I need to take the time to EV train up a couple more Pokemon so they hit that sweet spot where they start firing on all cylinders.
I realize this may not be exactly your use case, but I think it is something to keep in mind.
The advantage gained is improved stats. The evolved form of a Pokemon has better stats than its earlier forms. However, when you evolve your Pokemon their stats are recalculated from level 1. So your fully evolved Pokemon will have the same stats at level 100 regardless of which level you evolve it at.
There are two disadvantages to evolving a Pokemon though. The first one is pretty minor, and is that a Pokemon takes longer to learn moves in an evolved form (as you noted in your question). The other disadvantage is fairly significant though, and only applies to Pokemon which evolve with an evolution stone. The majority of Pokemon which evolve using a stone won't learn any moves when evolved, so you don't want to evolve those Pokemon until they've learned all their possible moves. Evolving them earlier will really, really limit their usefulness.
Best Answer
There are some reasons to have a pokemon hold an item that does not have any effect when held: