Tanks have one overall goal: reduce the damage taken by the raid. This is split into two parts: mitigating the damage they take and making sure that they are taking as much of the raid damage as possible, also known as holding aggro.
Reducing damage is pretty straightforward. Defense reduces the chance to be crit, eventually to zero. A combination of block, dodge, parry, and the mob's miss chance (which is boosted by defense) will reduce damage taken and at a total of 102.4% will remove crushing blows. Armor reduces the damage from physical attacks. Talents may reduce spell damage as well.
To hold aggro they spend mana or rage. Some of this is generated from dealing damage, but the majority comes from taking damage. Their gear can improve their efficiency, adding shield block value for warriors or spell damage for paladins. But in general, as a tank gets better gear, incoming damage will decrease faster than efficiency increases.
Tanking gear works inversely, reducing their rage/mana generation, without giving an equal aggro increase. As a raid gear up the tank will lose aggro as the DPS gains aggro.
Reduce rage and mana generation from damage taken/healed by a percentage, around 75%. Then make rage generation based on possible damage taken, so a boss that hits for 5000 on an unarmored target will generate 5000 damage worth of rage, even if armor takes off 60%. Dodge, parry, miss, and block would work similarly. For paladins, make mana generation from spiritual attunement come directly from the damage rather than from healing. This would have the side-effect of helping paladins in PvP and soloing.
Procedurally generated worlds
9 hours ago