Create a Spline IK setup on a curve. The setup features variable stretch and squash, variable rotation and sliding on curve.
Copy the rjSplineIK folder to your Maya scripts directory:
The Spline IK module works on a curve and generates an joint chain that sticks to it's position on the curve. This means that stretch and squash will only occur in the areas that manipulates as opposed to it scaling as a whole.
The other benefit of using this module over a regular spline IK is the fact that the twist is divided over the controls that are generated and not just limited to the beginning and end.
Apart from the main settings, the control colour, position and orientation is adjustable. This can be done on the Spline IK class before the create function is called.