In the Draw>Channels menu, there is a Mat Overwrite setting. It controls how the material is painted, and uses the current Alpha. A low setting means that the material is painted pretty much everywhere the brush clicks. Higher settings mean that the darker parts of the Alpha will not receive the new material.
However, when two very different materials come into contact, they tend to cause visible edges. Mat Overwrite will help with this, but the most reliable way to get rid of them is as a post render effect. Once you’ve done your final render, bake it and then use the blur and smudge brushes to feather the edges.
Also, you can stair-step materials. Take the current one, save it, select a new material slot, load the saved material. Make small changes to it that take its specular and diffuse properties toward the target material. Then you can paint with this intermediate material without getting visible edges. Some artists use about 7 similar materials on a single head – with great results.