A while back someone wrote a siggraph paper on using dual quaternions for a more advanced skinning. Unlike linear skinning, dual quarternions don’t suffer from the “shrinkage” problems and require far less corrective shape keys as a consequence.
I’ve used this in my own rig, and it seems to work great. It’s implemented in Blender, and the site has links to plugins for Maya and XNA.
