He nodded his head yes; she shook her head no
Solution 1:
I would say:
I nodded my head yes.
is the correct one. Because you're just nodding your head and that's it. Meanwhile, if you write it like this:
I nodded my head, "Yes."
That means that you're not only nodding your head, but also literally saying the word "yes".
Solution 2:
I am also seeing occasional "shake...yes" and "nod...no".... I'm reasonably certain that one shakes one's head for "No" and nods for "Yes"
This is not a correct assumption generally, as became quite clear to me personally when I spoke to certain Indians who indicate "yes" or "go on" or "[emphasis]" by 'shaking' their head left to right to left in the plane of the body.
See these articles: http://en.wikipedia.org/wiki/Head_bobble http://en.wikipedia.org/wiki/Nod_(gesture)
Could it be that your text is trying to explicitly mark such cultural differences?
If not, and a typical Western context can be assumed, I'm pretty indifferent between "I nodded my head yes." and "I shook my head no." I would compare it to the difference between "I shrugged." and "I shrugged my shoulders" (although I suppose one can shrug off a burden, but that's a different thought).