I do like the idea of dedicated slots, makes balancing the whole system definitely easier.
What I don't like so much is only having a single choice per hull type...
What I mean by this is the following: in real militaries, hulls, no matter what vehicles (ships, tanks, jeeps...) are often used for different vehicles in different roles. Need a new artillery, like right now? Or at least ASAP? You will not have the time to develop a completly new hull, and that would also make little sense. Most probably the old artillery hull is still pretty much up to the task, and its turret might accept the newer, larger gun... or there is that armoured APC you spent lots of money on some years ago, that has plenty of space fo the newer, larger gun, if you sacrifice its troop carrying capacity on it...
In the end, developing a new hull from scratch everytime a need for a different vehicle emerges is not very economical, even though the repurposed hull might not be 100% fitting for the new specification. In the end, resources and money for the army are limited, and the same is true for your players most probably.
So instead of just giving them the option to outfit ALL ships of a certain hull type with a single configuration, would there be an option to give them the possibility to manage multiple different layouts for the same hull type? So that players could repurpose the already built hull for a slightly different task, instead of having to research and build another hull again (which might, if the player DOES spend his resources on that new hull, be more suited to the task because of different hull stats and slot layouts, but at the price of having to research and build that hull first).
How to make it easy for players to manage that without a complicated ship designer is more difficult though. One possibility might be to show the player, when he select a hulltype, the total amount of ships of that type, together with buttons and UI elements to divide and combine this amount into multiple subtypes. As long as the player is not using these UI elements (maybe they could be hidden from sight until a checkbox is selected), all modifications done on the hulltype affect ALL ships of that type.
As soon as the player chooses to "subdivide the type", he can choose the amount of ships assigned to the new subtype with a slider, or other UI elements. Maybe give him the option to assign quotas of these subtypes to the different formations right from the same interface.
The module slot selection interface will now also "subdivide", showing the player two or more tabs with the subclass name or numbers. He can now manage two or more different module layouts for the same hulltype, for example a small ship outfitted with large weapons as kind of attack craft against larger ships, and the same vessel with lighter weapons and very strong electronic gear as scout ships.....
I like the idea of handling upgrades and downgrades with penalties... that will not disrupt the flow of the game, or need any additional "building" or interface, yet there is a strong incentive to take care of these upgrades outside of battles.
Personally, I'd say tinkering with the ships should always have a cost attached... simply outfitting ships with already built modules should be much cheaper than building thos modules, which should be much cheaper than building already researched hull types, which should be much cheaper than researching new modules, which should be much cheaper than researching new hull types.
This would force the player to really think about investing his resources into research, to be able to build a force consisting of individually more advanced and superior ships later in the game, instead of building all the already researched hulls and modules he can, and amassing a technological inferior army with superior numbers earlier in the game.
If you make both strategies viable, and give each one a distinctive advantage and disadvantage as well as a way to counter them, that might make for some interesting variety in gameplay (early rush with superior numbers vs late game dominance thanks to superior tech... maybe the latter player needs to fight the early rush by keeping his forces on the move until he gets advanced enough? Maybe the early game rusher that failed needs to himself switch to guerillia warfare in the later game to avoid direct confrontation with the now superior foe, until he can close the technological gap somewhat?)
Just some random ideas.... hope they help