What about the long term solution to block? This has some more interesting design constraints, but we'll go with some basic observations first.
For starters, one of the reasons that mitigation is so good right now is because boss damage is so high. The last time that every boss could melee two-shot tanks was Sunwell; and even then, it was only Brutallus. While most bosses can't do that all the time in Ulduar, it's more true than not that a tank can just be pasted if unlucky.
But why is that?
Part of it is because avoidance is simply too high. Pre-Naxx geared tanks started at around 40% avoidance, and by the time they were done with Naxx they were near 60%. By comparison, TBC tanks didn't get to the 60% threshold until they were through with BT. What this means in practice is that if designers want to challenge healing, all the attacks that do go through must hit fairly hard.
This leads to healers being forced to spam heals on the tank regardless of what's going on. Which means mana regen can't be as much of a factor, and caring about whether a 20k hit is blocked for 2k doesn't factor into it. It simply doesn't matter because healers must heal as if you had zero avoidance and zero other mitigation.
Because if they don't, the tank can get unlucky and die.
Now, this has another annoying side effect - healing is really dull. Healers are rewarded not by casting heals as needed but proactively healing, and then they pretty much have to. There aren't rotations possible; they must heal their absolute worst case scenarios. It also means that whether they are casting or not isn't really a decision.
Then you have block coming into it. Block doesn't scale with mob damage, and mob damage is steadily increasing. It becomes less reliable and less relevant. Avoidance continues to increase, health increases, and because of this hits become harder and harder...and healers get more and more bored.
So how do we change block such that it's relevant and fix everything else? GC has a hint, today:
Let's give an example of what he's talking about here.
The worst case scenario is no avoidance. Let's treat block as avoidance. In the above scenario GC describes, all tanks have exactly the same mitigation. Thus, all tanks have exactly the same worst-case TTL assuming their effective health was similar.
In the average case, however, you get the situation where you have the 'avoidance' tanks and the 'block' tanks. Here's how it works:
1) The avoidance tanks either take no damage (dodge) or fully mitigated damage (not dodge). We'll say that they avoid 40% of the time, so they take a full hit 60% of the time and dodge 40%.
2) the block tanks avoid 30% of the time, but block 30% of the time. So 40% of the time they take a full hit. 30% of the time they avoid everything. 30% of the time they block (say 33% of the damage).
In this situation, both tanks have the same worst case possibility. The blocking tanks will take on average the same damage over time. However, their damage will be much less spiky because of the avoidance issue; they'll take much fewer 'big' hits that aren't blocked, nearly half as many. 10% of the time the avoidance tank will take 0 damage ,or 10% less overall damage. 30% of the time the block tank will take 33% less damage, which is again 10% less overall damage.
Of course, this would require that block actually scaled with incoming attacks AND avoidance was heavily nerfed.
So what would this world look like? What stats would look like what?
Let's take another assumption: that on 'hard' fights the tank's basic time to live on average is around 4 melee attacks without heals. This means you can do nothing and be killed by the boss after four attacks most of the time. That's the baseline for 'hard'. Now, with avoidance at 50%, this means each attack must be (on average) at least 50% of your health - and that's where we are now. But at a 30% avoidance cap, the attacks don't have to be nearly so high, and 3-rounds are fine.
The obvious conclusion is that avoidance would be heavily nerfed and still be subject to diminishing returns. Instead of now, where the 'cap' on avoidance is set around 70% (and it becomes very difficult to get more than 60%), you'd need to set the cap closer to 40%. The goal would be that in the highest tier gear, you'd want to go for 40% at best. And that would be for the non-blocking tanks, remember. For the blocking tanks avoidance would want to cap near 30% in most cases. And admittedly, I'm totally making this up. It could be much, much worse than this. 40% as the high end seems reasonable though, but keep in mind that the primary reason I chose it was because it means bosses should not 2-round you (or can't really be designed to) - since the 'average' case would mean you'd die in two shots (if those two shots connected) more often than not. That's not really reasonable.
Furthermore, you'd want to do the same thing for block. Block rating would need to cap around 20-40% in general. Under no circumstances would you want anyone to be passively uncrushable/unhittable either; if you did that, they'd immediately become the best tank choice by a landslide. However, block rating would still remain as a stat. And more importantly, it'd remain a fairly desirable one; it would be essentially as good as dodge rating is right now.
Next, you want to make sure that no matter what else, block was relatively as good as avoidance against hard-hitting mobs. This means that it must scale with incoming damage. The simplest way to do this (as shown in the short term solution list) is to make it increase armor. This can scale or it can be a flat value; I'd recommend that it scales with block value to some degree, but only some degree. Why? Because the goal is to have your total amount of damage blocked * the chance of block equal or close to the total amount of damage avoided by the 'avoidance' tank. It's hard to do that if you can have wildly fluctuating values depending on gear. Possibly a better solution in the long term is to make block value a second mitigation that multiplies, just like defensive stance/PotP do now. And have that scale with block value.
And actually I take it back; the easiest solution is to have a block always reduce damage by a certain percentage and remove block value entirely. It was already a confusing stat; this might be best. We'll just have block always mitigate a flat 25% damage. If you like, you can put in a static component that does something like 'blocks at least 25% damage or X damage, whichever is higher' so that heroics/trash is a bit more manageable.
The important thing is that the block % * the block rate should equal the extra avoidance that the avoidance tanks have, and it should do so at all tiers. This isn't that hard to balance either. In fact, the block tanks can have different percentages of damage blocked and blocking rates as well, differentiating them even further.
I'd probably have the four tanks look like this:
Tank A: 40% max avoidance, 60% unblocked hits, 0% blocked hits for 0%.
Tank B: 35% max avoidance, 55% unblocked hits, 10% blocked hits for 50% blocks each
Tank C: 30% max avoidance, 40% unblocked hits, 20% blocked hits for 50% block each
Tank D: 30% max avoidance, 30% unblocked hits, 40% blocked hits for 25% block each
So we've dealt with block and avoidance. Next up, health and armor.
Health and armor amongst all of these tanks should be roughly the same or similar. The important thing to note is that effective health should really be the thing that stays the same. Why? Because the worst-case TTL should remain about the same between the tanks. This is a lot easier to balance than it was before, however; instead of having to compare blocking tanks with armor and do static vs. scaling damage, you've got armor for all of them and that's all. Same with health. Some tanks can have higher armor, but will need to trade that for lower HP. Same in reverse. But this is pretty easy to manage overall, and as long as effective health remains pretty much the same (within a few percent) this will be easy to balance. If I were doing this, I would have one of the avoidance tanks be the high armor, one be the high health. Do the same for the block tanks. Each would have marginal advantages on certain fights, none would be advantaged for all.
And of course, the ones with high HP should have less magic mitigation than the ones with lower HP.
So what happens to SD? SD becomes something of the odd man out. I think that for this specific case, you'd just remove it. Because it doesn't deal with the hit table, balancing it against block (which does) is very difficult. It's hard to 'guarantee' a certain uptime given crit, hit, expertise values. And it goes away from having two tanks with shields, two without. That being said, it may stick around as exactly what it is - a way to mitigate static amounts of damage. That still has value, especially in lower level dungeons. It just won't be used as the primary mitigation balancer.
Now, this breaks a lot of things. This breaks the idea of paladins blocking every attack, for instance. It breaks block being so much better on trash...maybe. There are possibilities here. Think, for instance, that while holy shield is active all attacks are reduced by a certain static damage, and as long as holy shield has charges attacks are reduced by a percentage - and the amount of charges is small. That means against bosses, you'll get both static and percentage reduction. Against multiple mobs, you'll get that static reduction and only a couple percentage reductions. That might work, and it'd be similar to what SD would be like in this world.
So how do shields work? They function quite a bit on giving massive block value by themselves. Well, you could simply use that (and that alone) as the way to do the percentage reduction. I don't like that, personally. You could just remove that value entirely. You could make it solely a threat stat for paladins and warriors. I'd be in favor of removing it, but there is some value in keeping two stats around and making percentage reduction something you can scale with. It's still confusing though.
Would this fix or improve healing? Possibly. With a maximum 40% avoidance chance, a number of potential nice things come up. For starters, the real possibility of having ohshit buttons that do avoidance primarily becomes attractive, even if they're not 100%. This is because bosses wouldn't be hitting for half your health every time; they wouldn't need to. So something that doubled your avoidance would massively reduce the incoming damage, but could still be fair and useful. Damage could be cut in basically half and still threaten tanks, since chances are they'd take the same damage most of the time. All tanks would be significantly less spiky due to the loss of avoidance. Some reactionary healing (and less healer-stacking) may be possible. Healing spells could be reduced in size as well, to correspond to this healing. And mana regen might be able to be nerfed too; if the primary problem is just throughput of heals, not bursty scary 2-hit combos, that might work to help things.
At the very least, boss damage would not need to be consistently 50% of a tank's health all the time.
So this would all work. The question remains to me - would this be fun? The four tanks wouldn't be all that different from a healer perspective. The block/nonblock tanks would be especially close to each other by necessity. There wouldn't be a lot of advantages or disadvantages to bringing one over the other, especially if cooldowns were balanced. Sure, paladins would block more on trash, druids would have higher HP (or armor, whatever), but everyone would kind of want the same stuff and be about the same viability at any given tier.
Is that fun? I'm not sure. Honestly, I always felt that there should be niches for tanking (4), and that each of the four tanks should have a primary and secondary 'good' niche. I would like to see a diversity of tanks required in raids. My idea would be that each tank would have one main niche, one secondary niche, and they overlapped so that any two tanks would cover all four niches at at least a secondary level of competence.
Because I think there is definite advantage in feeling like your character is 'best' in something. And I think it's fun to try and min-max and get advantages in fights by using what you have. To me, that's part of the fun. But I admit, that's not absolutely the case everywhere.
This kind of plan I've outlined for the long haul would certainly balance things out, or make things close enough that there wouldn't really be any big deal on the survival side. Threat, cooldowns, special abilities - that's all another side. But this would bring them all pretty close together.
I'd be shocked if this was done in time for Icecrown. But I'd not be too shocked. GC seems like he's been thinking about this for a while and has some very definite ideas on how to get there, and if he needs to radically revamp everything, so it goes. It would be the single biggest change to the game during a release that had happened since..1.8, I guess, and I think they've got bigger fish to fry in the interim. However, I wouldn't have thought that druids would get something like savage defense in a content patch either. Each content patch appears to be doing a lot of rebalancing. 3.1 was very ambitious.
My prediction is that you won't see this for 3.2. 3.2 is going to come out fairly soon and be a quicker patch, I think. And it probably won't have tier 9 gear - it'll be a T8.5 type of thing. Then we'll get Icecrown, and it's quite possible we'll see it there.