Correct me if I'm wrong, but aren't Marines the only units that can attack from a boat? Which means that in order for an invasion to succeed there has to be either an open tile for the enemy to land on, or the enemy must bring a ton of marines, right?
If that's the case, then all we need to do is block the coast and they'll be forced to use marines to clear a tile/town for landing the rest of the troops.
But any blockers will still be subject to bombarding ships, right?
Don't forget planes and their lethal bombardment.