TL;DR
Generated maps should have shallow water and beach between land and water.What ?
An elevation between -x and 0 becomes shallow water and elevation between 0 and x becomes beach (sand). A good value for x should be determined experimentally starting with x=1. This should give just about 1 tile border of shallow water and beach around land on average with the vanilla map generator. Hopefully the existing elevation function would need no change.This could also have options in the mapgen data and gui so one could widen or shrink the shallow water and beach. Or just an on/off toggle.
Note: the map generator should not fail if the shallow water or beach (sand) tiles are missing in case some mod removes them. Just revert to water and land in that case.