Check out Jason Osipa's excellent book Stop Starring.
Check out Danilo Pinheiro's masterful work nilouco dot blogspot dot com
and Check out Andrew Hunt's excellent book The Pragrammatic Programmer. From Jason's book I learned alot about sculpting blendshapes, and from Danilo's online tutorials I learned alot about sculpting blendshapes. From Andrew Hunt's work I first learned about tracer programming (from what i understand from it so far, it is to create an iteration on code even before all details are incredibly fleshed out that iteratively gets closer to the end goal). I applied Hunt's method in my writing of the script below.
Here's a brief description of why I wrote the mirror blendshape script.
While I was sculpting the smile shape I had to do alot of joint binding and sculpting and copying mesh and sculpting and lots of vertex moving and soon I found that both sides of the blendshape were not symmetrical. I had tried in the past to use the standard delete one side and mirror the mesh but then I would have to merge the poly, and i'm pretty sure that the blendshape would no longer be working with the original shape.
So I decided to write a short script to mirror the blendshape. Its currently pretty slow, but its a decent start. If you take a look at the image i posted, there is a low poly face sculpt I had made (approx 1700 faces). You can see before running the script and after running script (approx 3 minutes). Notice what happens on the mouth area.
I've included the current iteration on the script
naMirrorBlendshape.mel Hope you can find it useful.