After finishing my work on the tether rigs for Alfonso Cuaron's Gravity, I couldn't help but continue my work from home, expanding on some of the ideas and pushing it just a little further, and this is what I came up with.
Initially made to demonstrate my skills for a job application, it turned into a rather pleasant rig.
In a nutshell, it's an (1) FK rig driving an (2) nCloth mesh driving another (3) FK rig.
1. Is what the animator interacts with and exposes control over positions and orientation, as well as dynamic properties of the system
2. The output of (1) is sent to nCloth for simulation
3. The output of (2) is converted back into transform nodes, via follicles, and drives a secondary rig for area preservation and ultimately the skeleton that is used to skin the snake geometry.
I made this a few years ago (in 2014) so my memory of exact details is a little fuzzy, but if you have any questions do let me know and I'll try my best to answer.
Oh, and it's built entirely using default Maya nodes, with the exception of SoUP for dynamic weightmaps passed into the nConstraint nodes. The rig runs fine without it, minus the ability to animate the position and strength of the constraint that maps (2) back to (1).