I know you said this would be a lot of work, but I still think it's pretty substantially beneficial to work to cut out a lot of manual work.
For example, imagine Simple Shape Shader which accepts vector for a location substitute, I can then define two locations, drive whatever, and I can even derive distance from the two, and paths from A to B. Take this simple function which shuold give a location between Loc1 and Loc2 as an example, which could drive a moving SSS or something.
The possibilities are pretty expansive. And maybe we could roll out vector inputs as times goes instead of one update handling every shader which has a location. The two most important shader could just be the Transform Input and Transform Merge shaders, which could allow a lot to be accomplished with just the two. A vector for each input (translate, rotate, transform) would allow total functionable control.