Geometry and terrain can use the same shader. Later I may split them in two, since materials are likely to be different any way. You can still use Unity's brush to edit terrain, but it normalizes channel values while the shader merges splats based on height. You can have any color on the control texture, this is why I modify it with my custom texture editor (which you are welcome to get on Asset Store).
Shader comes with script that will merge BumpMap, Ambient and Gloss mask into one texture. And Color + Height into second texture.
Texture Editor can also be used to edit terrain height itself. It will use Render Texture, so a 2048*2048 texture can be edited in real time. BUT, first you have to switch over to Preview Shader to see modifications you make to height, and every now and then during editing click on "Update Terrain" to have render texture data transferred into Unity Terrain for terrain Normals to be updated.