yeah thats probably all true. I personally never animate bones directly. I usually have some sort of control object animating my rigs. makes things just a little more customisable. y'know, means I can more easily change rig setups, heirarchies, etc, as well as changing bone counts, without disturbing animation.
anyway, the constraining a rotate pivot to an object works fine. just remember, on the target object, delete the two green connections going to the constraint node. with that done, everything should work fine. oh yeah, the expression method works as well.