The big-pile-of-forcefields-and-engies thing is one of the most effective tactics I know of. I don't know if it's genuinely overpowered, though, because there's basically no other way I can think of that would successfully defend my home command station (or any other command station) from a truly serious attack. But the sheer amount of perpetual repairing that the engies can do in a set of sufficiently nested generators is pretty intense, and makes me think we should increase the repair-after-damage delay on player forcefields to some degree.
And I think it does get downright exploitative when you start mixing in plays like "scrap the damage generator, re-place it, speed-build with engies". Because newly-built forcefields start with no repair delay With that and enough engies and enough resources and enough micro I don't think anything short of totally overwhelming force could possibly get through.
So there are a few things I'd change, but if I nerfed the tactic out of existence I don't think I'd win any more games
As for offensive shield-bearer blobs, yea, they're pretty intense. I'd suggest increasing their repair-after-damage delay to make their durability less theoretically infinite when combined with engies.
Another thought would be to make it so that the repair-after-damage delay for forcefield generators is global per planet per team instead of per ship. Make up some kind of radiation-pulse-interference BS
That might be a little too severe in terms of not letting engies do any forcefield repair (or speedbuilding, I would suggest) on a planet where any of your team's forcefields has taken damage in the last 3/5 seconds, but that could be rebalanced by increasing the actual ff hps or whatever, if necessary.
On another note, I should add that the "which ff in a big nested stack do I hit?" logic is pretty fuzzy in the middle of a major attack because generally the shot will hit whatever forcefield was protecting the target ship at the time the shot was fired, not at the time the shot hits. The exception is if another forcefield is _completely_ encapsulating the effective target forcefield at the time of firing the shot (not at the time of hit), then the target will switch to the encapsulating field. And the "which ff is protecting me logic" is also fuzzy in that it's not re-evaluated every frame and might not always be the one that's closest or whatever.
So in general in order for a single ff in a nested web to stop taking hits in the middle of a big attack it has to shrink such that it's completely contained inside another ff in the web and stay that way for a few seconds for who-is-protecting-me updates to happen and for incoming shots to clear out.