The real problem is that the only option in the task bar is re-enable all shields. Regardless of what shields were active before. I'm sure that if behavior shield was installed but disabled, I would have had 3 active shield and 3 inactive shield, and the only option in the task bar menu would be to re-enable all 6 shields.
That's why an actual uninstall option for anti-rootkit shield and anti-exploit shield would make it so it behaves like behavior shield: not present, so not subject to disabling and re-enabling. That would be a dumb workaround of course, because Avast should just respect settings and no uninstalling would even be needed.
The option in task bar to re-enable all shields seems to be coming from an assumption that all shields were active before, or should be. When they aren't, and shouldn't, things go wrong.
Again; on a more fundamental level, anti-rootkit and anti-exploit should be able to stay enabled, but then they also have to respect exceptions, and not ignore them as the do (or have done). Disabling those shields was in the first place already a workaround to deal with the inconsistency in the way Avast handles exceptions.