In my games I commonly upgrade a ship design several times. Each time I upgrade the functional components are removed and I have to put the new ones on. This is far superior to having to remove them all first, but I think its possible to do better. Then I have to save the design, and either give it a unique name or save over my old design, which is not optimal if I want to use it again in another game.
So, here's what I'd like to see. Make a group of extras called Hard Points, with each point being of type Weapon, Defense, Engine, Module or Capacity. These can be attached anywhere, just like attachment modifiers. Then, when I select a functional item, I can just hit an Add button, and the game would attach the item to the first available Hard Point of the appropriate type. So if I design 3 weapons hard points and decide to upgrade my lasers, all I have to do is select the current design, hit Upgrade, select laser mk II, hit Add 3 times, and save it. If I want to add a 4th laser I need to either add another Hard Point or place it manually. Fast, clean, and easy, and lets me have consistency of component placement without having to check the old design for which attachment points I used before upgrading.
To solve the problem of saving over old designs, include an option to Save Template. If checked the game would save a copy of the ship without funcional components (but with Hard Points, which are extras). That way all my ship designs become available as soon as I have the hull for them, and I can just attach whatever hardware I have available in short order.