Animatable Pivot using a Constrain
This tutorial will show you how to set up an animatable pivot using constraints. It is a robust set up that can be added to any character rig.
The parent_loc position changes after setting the animatable pivot up ( if outside of the origin ), this means that the parenting of the objects to the locator need to be done after the initial setup. The top group can be parented, scaled, translated and rotated without destroying the setup.