I have a few interesting tidbits about level 20+ play and designing epic monsters. Then a suggestion.
First and foremost, I 100% agree that for small singular fights the encounter guidelines are not even close. Having 6-8 normally budgeted encounters is frankly tedious and uninteresting to run for me. All that for the payoff of the last few being correctly graded. My best solutions have been doing two things
1) Increase the effective character level based on the number of magic items. It's unfortunately not an exact science, but if you look at what a +1 weapon does, it's roughly 4 character levels in offense (enough to hit their next ASI). So I generally give them a +1 for each significant combat altering magic item. Then use that as my new starting budget.
2) Half the number of encounters, but double the difficulty. And I mean flat out, just two encounters put together, multiplier be damned. Also, it's really important to know exactly what your players can do. Did you know that a beholder is almost worthless against a level 22 Monk? (Unless you think that the ki based abilities are magical, which I do not)
I have also found that using the paragon monster system from TheAngryDM is very effective at making difficult "boss" fights. It's a much more fair solo encounter if the enemy just gets to go 2 or 3 times in initiative.
With the above in place I have recently been able to have a very satisfying adventuring day. They were approaching the final fight with an enemy they have had for a long time. It was 4 encounters total. The first two drained some resources but were not threatening, they also served to introduce two new enemies that they would later face, and let them finish off a named enemy that fled from them earlier. They then encountered a paragon monster mini-boss which knocked a few characters out, and then for the final fight they were appropriately drained and it was a nail biter.
As for EHP for the bosses, I actually done a similar thing to Celtavain and made the enemies resistant to normal magical weapons, and sometimes most magical damage. For example I have decided in Eberron that several of the Rakshasas of the Lords of Dust are a step above (Because the normal rakshasa has a non-0 chance of being one rounded by this party). They have resistance to all weapon damage except magical-good-piercing. The Daelkyr similarly have resistance to non-byeshk weapons (And non-force energy damage for reasons). The party has been able to research these weaknesses and develop plans around them. It provides a new challenge that they have to overcome, while still allowing them to take the "hit it a lot" route if they don't try and learn anything.
One other very important thing I find for my boss monsters is that the need a mobility based legendary action. For a boss, being in once place for a round is certain death. It's not easy, but having reasonable cover and obstacles are important for a boss. It lets the bosses live longer and rewards the players for either positioning correctly, or finding a way to remove the cover.
In the context of Out of the Abyss what specifically would I suggest?
I would buff up each demon lord in new ways. There have been good suggestions in this thread already. Then add on to each demon lord (Or just your favorites) a side quest of discovery and/or acquisition. This gives you more xp for each player to get them to the 20+ area, and allows them to learn about these unique strengths to try and form a plan around them.
These could be Shadow of Mordor style where they party has to kidnap and interrogate, a high level demon in the army of the demon lord. It could be more dungeon delvy where they are finding ancient texts that describe the demon lord in their truest form, or unique magical artifacts. It could be political in nature where they actually have to go somewhere on the surface world far away from the Sword Coast and go on a diplomatic mission to get some unique text or artifact from another kingdom. (Negotiating with Szass Tam the lich lord of Thay could be fun for you and disconcerting for the players.)
TL;DR - Make everything much harder when you get to higher levels, the party can handle it.