There's already a number of checks that happen in TreasureMap.cs. Are you sure they won't work on the custom map as-is?
The random placement system allows for "bad" locations by changing the coordinates on unused maps every 30 days.
SOS.cs also appears to pick a random spot on the map and then check it for deep water status.