This is just an idea I had while going through my class designs and redesigning them with newly researched components. The issue is how much work (or how many clicks) it takes to update all your designs whenever you research a new sensor, engine, or other component, which made me wonder if would be possible to reduce all that work down to pretty much just one click.
My thought was to add a button to the bottom right of the class design window and name it something like "update component" or "update classes". It could also be integrated into the components and turret design windows, but having it in the class design window would be good enough.
When you click that button, it would bring up a small popup window. Here is an MSPaint mockup of how I imagine this window could look like:
The dropdown at the top would let you select a component type, with an additional option for "just armor".
The bottom left dropdown is for selecting the existing component, the one to the right is for selecting the one you want it to be replaced with.
When you tell it to replace a component, it would go through all your non-obsolete class designs and search for the ones that have the old component. Then for each class it finds, it would create a copy, rename that copy to the same name, but with a "2" at the end (incrementing the number if there already was one), remove all copies of the old component from it and instead add an equal amount of the new component. At that point it would also try to update the armor tech of the design, in case it's outdated.
If you put a checkmark on the setting to obsolete outdated designs, it would also mark the original design as obsolete (both the class and the component, though maybe these should be separate options).
If you put a checkmark on the setting to retool shipyards, it would go through all your shipyards, see if any of them are tooled for the old class and (if possible) give them the order to retool to the new design.
Correct me if I'm super silly and didn't realise that some feature like this is already in the game. Either way, this could be expanded to work similarly for ground units, too.