To answer your question: I think you want to have the blendshapenode below the skinnode in the "stack". In praxis I've created the blendshapenode aften applying skin and then moved it below the skinnode, but that can cause trouble and in some cases you just can't do it, so avoid it if you can! I surgest that you copy the headmesh, name it eg. Blendshape_Head_base and apply a blendshapenode with that as the only target. You then apply the skinning and when you are ready you just duplicate the base head, create the desired shapes and add those targets to the allready exsisting blendshapenode.
Joints for jaw: One nice thing about opening the mouth with a joint is that it is based on rotations. Blendshapes goes from point a to b in a straight line, unless you ad inbetween targets I guess. Also you can parent stuff like teeth to the joint. If you add an extra joint inbetween the head and jaw joint, and place it say around the forehead, you can use those rotations to bring the jaw in and out. With those bones you get: open/close, in/out, twist and "grind". If you want more flexibility simply add shapes also or maybe even tweak the skin deformations by driving shapes with joint rotations. If you look up the project "Cane Toad" they have a page describing how they rigged all the facial deformations of a character with bones instead of blends.. But that not for mortals to set-up!!
Whew.. many words.