Shadow control by vertex paint
I'm aware I'm necroin' a 8 month post, but I'd like to aid any others who happen to come across this post in desperation for a solution.

It took a whole day of investigating and cross-referencing, but another Blender user back in 2010 managed this effect rather well.

https://youtu.be/cEnZe0TIkLM

Now, the barely readable 480p is not very helpful for those unfamiliar with Blender Render style or Nodes period, such as myself, but I managed to crack the code.



And for those who are working in Cycles (as Eevee is a blast to edit this with). I apologize for the slightly clumped Cycle composition, I hope the colors help.



Tips:

You can't use this method to "pre-program" how shadows fall, so this won't be great for 3D/live rotation video games. This is a clean up method for specific scenes, if not specific frames in general. You will need to reset the Vertex color base every time you want your shadows to start fresh for changes.

Materials and Render do not match up, do not trust 'em for switchin back n forth.

You can change the black Vertex Paint base to a lighter shade, you just need to adjust the ColorRamps to match. 

It's ok if your first strokes are jagged, Blur/Blend in the Vertex Paint will smooth it out, although it'll take some back and forth to get the contour you want.  

Depending on your mesh, there will inevitably be spots that don't catch the shader right and cannot be vertex painted. Change your lighting or change your positioning. All tools have limits :(

Oh yeah, and this shader HATES subtle lights. I thought the shader was broken until I shoved a spot at full power in my meshs's skull. Just be aware, if your model in Materials or Render looks like a silhouette colored by your shadow, you either need to shove a light in it's noggin or you didn't connect the Vertex information right. 

VERTEX COLOR TO IMAGE

ATTRIBUTE COLOR TO IMAGE

why am I screaming? Because it took me 15 minutes to figure that out just because someone thought it'd be a good idea to have the node threads use gradients in the video's version of BL. (Also I'm dumb)  

Hope this helps any others