My problem with the powerful Items of Immunity in BG2 especially was that they kinda made equipment loadout degenerate to "who gets what immunity"
That's not really degenerative at all. The player is choosing which unit receives certain equipment based on another factor besides class/damage/proficiency. That's a huge part of what made BG2 itemization interesting, that certain weapons/armor/trinkets could patch up holes in a character's defenses. Do you want the Shield of Harmony in your Cleric's off-hand, or is the Shield of the Lost better for the character? Is Arbane's Short Sword a good thing to put in your Fighter's hands, which are used to Long Swords? That immunity to Hold spells can be pretty nice.
and combat degenerate to "put the right immune person at the front line".
But this isn't the fault of "hard counters", it's the fault of poor AI and narrow enemy design. Sword Coast Stratagems 2 is a proof-of-concept for how all of these issues could be fixed up.
No longer do enemies blow their limited use abilities on the first opponent they see; SCS2 scripting allows them to recognize (if in a slightly cheesy manner) when player party members have certain protections up and act accordingly. They also shift their attacks to more vulnerable members of the party. This means things like Illithids won't blow all their Psionic Blasts on your lone Berserker, allowing you to send in the cavalry and wipe up. Vampires disengage from Negative-Plane-Protected characters and target those weak to level drain, if possible. Mages don't cast into Spell Turning, Protection From Energy, and whatnot.
It also adds abilities to plenty of enemies to make them less narrow, to be able to interact on more axes. Illithids are granted additional abilities based on the special scripted abilities of the Athas halflings in the Planar Sphere as well as Psionic-focused splatbooks. This means something like Chaotic Commands, the Greenstone Amulet, or Berserking doesn't completely shut them down. Similarly, vampires have been granted a bunch of extra abilities beyond level-draining and domination. Constitution drain on-hit (which, by the way, I find a lot more elegant than Level Drain), the ability to summon swarms of rats or dire wolves, a Bat Swarm that functions similarly to Druidic Insect Swarms, as well as smart use of transformation abilities to get at weaker party members.
And while SCS2 doesn't really mess with the composition of many encounters, mixing and matching different enemies would make for even more complex fights that can't be stuffed by one or two countermeasures, and where the enemies can cover for one another, overlapping their abilities/strengths.
Take the fight against the final guardians of the seal in Watcher's Keep with SCS2 scripting. Among that group is a Hive Mother, a very tough Beholderkin. Even if you have the extremely cheesy Shield of Balduran of Cloak of Mirroring, that only protects two of your party members against her eye rays (and not necessarily the spells she casts), but she is completely free to target other characters while the battle rages. The hard counter items give the player some choice in how she directs the majority of her abilities, funneling them away from, at most, two characters. This provides certainties upon which tactics can be based; a cleric or a mage can be on dispelling duty without having to worry about being bombarded by Beholder rays.
And in symmetric systems, like D&D, "hard counter" abilities can help enemies stand up to players and differentiate encounters from one another in a more organic manner. Take SCS2 fighters, which are granted the ability to drink potions at a fight's onset. Often times they consume different countermeasure potions so as to make one type of spell effect not debilitate the entire group (e.g. one drinks a potion of free action, another a potion of clarity, another a potion of magic blocking, etc), forcing the player to mix it up.
Defense mechanisms such as these, in addition to forcing the player to swap tactics, often serve to make the player interact on the same axis as the opponent, rather than merely repeating the same lines of play that the party is "good at". A great example in vanilla BG2 are the host of spell/combat/illusory protections available to clerics and mages that force the player to consider the defensive abilities used and work around them, be it by proper use of anti-magic spells or using attacks that go around the enemies defenses (no enemy in vanilla BG2 makes impregnable setups and even SCS2 only has a few that really stack the protections). Interacting differently makes encounters feel different, builds feels of variety, and makes for a more fun and interesting game experience.
Tangentially related, I like how BG2's "hard counter" abilities tend to be systemic; they work the way the manual (or in-game documentation) describes and are often available to the player themselves. Players know how potions, spells, and innate abilities should work and there's feedback in the combat log. I like this a lot more than hardcoded, DM-fiat immunities, and it's probably no surprise that most of the consternation around BG2 enemies came from unintuitive resistances/immunities and the way they interacted with the systemic defense methods. Things like liches being immune to spell levels one through five or mariliths casting Protection From Magical Weapons while retaining their innate immunity to normal armaments.
This is basically a tl;dfr read of saying that Sawyer drew the wrong conclusions from BG2; it wasn't hard counters that caused problems it was AI and encounter/enemy design that could have been even better. And from this flase conclusion, a lot of awkward designs spring up. No longer can players have certainties in combat from which they can base tactics around. No more using countermeasures to exploit environmental/magical asymmetries to the player's advantage. Want to do the old Free Action plus Web trick? Under the doctrine of "No Hard Counters" this is bad and players need to have a small chance to be webbed up because...why? It would be like a squad tactical game having infrared/NV-goggles randomly fail at times when you are trying to execute operation with smoke grenades or at night. So fun, so balanced!
And it leads to idiotic designs like
this. It's BG2's Minor Spell Turning, but utterly FUBAR'd because of Sawyer's axe to grind against "hard counters". Spell Turning is a pretty narrow defensive measure. It can only be cast by mages on themselves, only reflects spells of up to a certain level, only reflects a certain power level of spells, and only reflects directly targeted spells. It has a non-trivial tempo and resource cost. Basically, it's only useful against certain things, but guaranteed protection against that limited subset of offensive maneuvers. In a word, balanced.
Sawyer's version injects in pointless randomness. Now you have a defensive mechanism that is extremely narrow, yet still prone to failure ostensibly because of The Saw™'s crusade against "hard counters". And when facing this ability, the randomness takes away one of the more creative (and fun) interactions with Spell Turning that existed in BG2: bouncing buffs off of the protective magics, which was helpful if you were all out of Spell Thrust, Secret Word, Dispel/Remove Magic, or any other appropriate anti-magic.
Just plain silly.
It's also weird to me how that sort of stuff tends to make the entire saving throw system superfluous.
Meh, plenty of spells and effects completely bypass the saving throw system, especially in higher level D&D. It only makes sense to have defensive measures that do the same.