I also think (taking real life engagements) that encounters among major surface attack ships were quite lethal (in fact 50% of the times they were lethal for one of the major ships involved) BUT if you made them so lethal in this game as they were IRL then people would find very soon that they (players) or the AI (or both) have almost no ships. Why is so? Because in this game there happen far more engagements among big ships (BCs or BBs) than IRL. IRL (and not counting the 3 engagements among the British navy and French one) we got 16 engagements in total where both sides had one or more BB or BC among their numbers (8 of these engagements ended with one of the major ships involved being sunk). 16 engagements IRL means an average of 2.6 engamenets PER YEAR of war. In this game you can easily get that vey same number PER MONTH because AI usually sails its ships very happily. So, to keep number of sunk ships in historical numbers we can teach the AI not to sail its ships so happily (something that would be difficult) OR make BBs and BCs not as deadly as they were IRL, or make them more difficult to sink than they were IRL.
This is a good point. The AI does not understand where it can assert dominance (sail freely), where the enemy can assert dominance, and where dominance is contested. And among the contested areas, it is not good at telling which areas are important enough to risk losses and which areas are not.
Frankly, the AI is dumb. And the only reason that surface combat works as well as it does is because it can be reduced to a numbers game and the front is defined by where units are placed, so a lot of the intricacies are paved over with the simplifications of the engine.
To a large degree, the biggest rough edges of the engine exist to accommodate the AI. And this is not the fault of Paradox -- AI is really, really hard. Most publishers never attempt games like this because the AI is so hard!
What I'd really like is general moddability of the AI, similar to the Brood Wars API for Starcraft (see for instance
the Starcraft AI competitions). But the reason combat AI is not exposed and in Lua is primarily that it has to be fast (HOI3 is more complex and has far more processing power devoted to AI than Starcraft), and modifying the HOI3 engine to expose those internal bits in a stable, reliable fashion without Lua is an incredibly difficult engineering challenge that I'm sure Paradox is not enthusiastic about undertaking.
Besides which, even if modders do fix individual elements of the AI, then they'll of course want to sand off all those rough edges that exist because the AI is broken... It never ends.