First of all, thanks for the feedback!
There was the obvious strategy of putting all ships on a single row which I mitigated by putting the one-ship-per-row limit. Placing ships on opposite sides also works, I’ve tried to compensate this problem by lowering the fleet size and raising the required number of survivors.
At the moment it’s like Tic-tac-toe, there are moves that almost always guarantee a win. In the future I would like to improve the intelligence of the Hero, trying to aim for the highest number of kills and not just the closest target.