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).