You could interpolate and make the grid smaller. Basically the idea would be to take those large squares and make them smaller so that the edges are not so obvious.
I posted the algorithm here with an example and some pretty pictures:
Creating colour spectrum by light flux values
Essentially, you would have to take your generated map data array -- and then just stretch it out over a larger map array, making the edges look a lot smoother. This would be an alternative approach to utilizing bitmasking.
Considering you are already converting your map into a mesh, I would assume this wouldn't be much of a performance hit during gameplay, so as long as you pre-calculate it all during the map creation portion.
Edit Alternatively to this -- you could also just sample a larger dataset so that your world is larger to begin with.