My current understanding of ship combat is that weapons/defenses are rolled in a roughly uniform distribution, with a few complications due to non-optimal defense types, etc. Fleet weapon values are essentially clumped together as well. This leads to some unexpected strategies that are at times counterintuitive regarding ship design and how to send ships into battle. Some suggestions I've seen are very complex (including tactical combat) and seem to go against the designer's intentions. I think that keeping ship combat relatively simple is important, but there is such a high variance in results that it is at times frustrating; I have a suggestion for the combat model.
The easiest improvement to program is to make rolls follow a binomial distribution such that each point of attack/defense is rolled with a 50% chance. The average would remain the same but the variance would decrease, making outcomes more reasonable. Fleet composition can be made more important by combining the stats of both sides and distributing damage equally to all ships. Smaller ships would of course explode before larger ships. The combat sequence makes it easy to maintain simultaneous combat rounds and is as follows:
For each side
For each weapon type
For each attack point of this type
roll 50% chance, add hits to damage
Next
For each defense point in opposing fleet of this type
roll 50% chance, subtract hits from damage
Next
For each remaining damage
apply -1 HP to current opposing ship
target next opposing ship with HP > 0
Next
Next
Next
All ships that were alive at the beginning of the round contribute their att/def for that round. Damage to both fleets is distributed equally to each live ship, skipping ships once their HP reaches 0. Ships with no HP are destroyed at the end of the round. Combat continues with the next round until one side is destroyed.
Note that a fleet can only block damage from a weapon type by having ships with the appropriate defense, so having the fleet's defensive composition match the attacker's weapon composition is optimal. Combat will result in more ships damaged but less ships destroyed; repair rates should be adjusted (lower) to maintain balance. If all ships would be destroyed in a combat round, DA rules suggest that the last surviving ship to have damage allocated to it survives with 1 HP (this would tend to be the ship with the highest HP at the start of the battle).