I do sympathise with those who don't like the 'god grants this dragon 4 extra actions a round'. It does feel a bit fudged. Why is it that dragons are scary? In theory, because they can do a lot of things at once. Consider a battle, 4 humans on one side, 1 human on the other - why is that single human almost certainly beaten? The action economy, yes, but this also tallies with our real world beliefs that it's difficult to handle multiple opponents at once, you just can't defend every attack (only 1 reaction), nor attack every opponent equally well as you could a single opponent (multiattacks should be less effective). Now consider the 4 humans against a dragon. If the dragon sweeps its tail, it should be striking more than one of those humans, unless they are spread out. It can lunge at one opponent with its mouth, whilst merely swiping at random with a claw, and that claw is so big it might hit. It can breathe fire all over the place.
So if we give the dragon the ability to claw, claw, bite, AoE tail sweep, breathe and move all in a single turn, does it stand a chance? Not really, because stepped initiative means the party all act together and it can't react to attempts at synergy. The legendary actions are an attempt to give it more things to do in a round, and to allow those things to happen out of turn. These are all good, but I'd rather the rules just state that it gets these because it's so damned big. Even giants should have something like this - basic movement for a giant is far more like an attack when that massive foot is lumbering down onto your square. I would also consider reframing some of the actions as triggers, but still with a cost. So, the tail sweep for instance should be automatic whenever the dragon moves a certain distance on foot - but when triggered it costs one of their actions. The extra move should only apply when flying, and should trigger when the dragon is still in flight (neat way to make aerial combat seem more natural too). The breath weapon should trigger at the start of its own action, if it has enough actions left to do so. This provides tactical opportunities - can you get the dragon to use up enough of its actions so that it's not raining down fire on you every round? It probably needs a couple more actions to diversify - how about a wing shield that provides DR against a ranged attack, provided it isn't flying? I also stand by my suggestion that shaking off a condition should be an action - I remember something similar in late 4E that meant you could still 'stun' a serious solo, but it would just lose one of its actions, rather than this 'I'm immune to four things nyer' stuff.
On the subject of immunity to effects. You know it would be a lot easier to balance and adjudicate these things if serious knockout effects were laid out in a clearly progressive manner. So let's take paralysis, the inability to move or take physical actions. The progression for all 'paralysing' effects could be:
- slowed (half move, disadv to dex saves/initiative if not yet rolled)
- immobile (no move, auto fail dex saves, always last)
- torpid (as above, only a single attack allowed, no 'with an action' additional abilities, no spells, only lashing out allowed)
- paralysed (as above, no physical actions at all).
For the more mental version, stunning, the effects could be similar, but a different chain:
- dizzy (cannot move after you take your action)
- dazed (can only move or act)-
- stupefied (move half speed or make a single attack, as per torpid)
- stunned (no actions whatsoever)
You get the idea, and could probably reduce it to three levels per effect and just call them 'minor stun, stun, major stun' or something. Anyway, the basic idea is that for a super solo creature like a dragon, or even as part of magic resistance, you can have a blanket rule that says any spell cast has the effect reduced one step. A dragon could, therefore, never be paralysed or stunned (though you could allow stacking in a careful way). It also gets rid of 'save or nothing' spells, where a save would provide a reduced effect. Come on, let's streamline this!