Historically if you look at the first world war you realise in the big fleet engagements screening ships fell back to avoid certain death.
My point is dreadnought spam will always exist, simply adding a destroyer doesnt equal a varied fleet. I say we ditch the attempt to incooperate varied sqns into movecraft and focus on an alternative approach.
Destroyers, Cruisers, Submarines.... they all have the same roles, seak and destroy commerce or protect them. Commerce doesnt exist however so i propose we give them a seperate role from main naval seiges.
We have a seperate siege region next to every region called *insert area* convoy. During these battles you can only take it with a cargo vessel, the cargo ship has to remain for 30 minutes inside the zone. The enemy will attempt to kill your cargo ship and you must try kill theirs. Money is split among the surviving cargo ships, if everyone is sunk, the last to die wins. These battles you cannot use Carriers or Dreadnoughts...
During tradtional seiges only carriers, dreads and cruisers should be used as they are the most balanced against each other. Submarines should not partake.
So while fleet engagements are no longer varied, the fleets are. Those who have only focussed on dreads are nerfed while those who have subs and cruisers are rewarded. We have essentially given all vessels a role without hurting their power rankings.
This idea was inspired by Rule Blocks. Its a win for everyone, more ships need to be built, dread pilots are happy, sub pilots are happy. I think its better then trying to force variation through soft nerfing dreads.