The thing is what you called hacking and tricking is the most simple and indeed most established way to rotate an object around a pivot point.
Everything else would be tricking and hacking. So if you did not set up anything yet i strongly recomment to do it this way.
The problem is you want to rotate the parent around the child. So you make the parent constrained to the child. But as the child is constrained by the parent (as it is its child) you will get an dependency loop. And loops are always bad! This could go well if you do not move the child while rotating the parent (however still hacky) but as soon as you do both it will stop working correctly!
You could imagine a parent child relationship as a pregnant woman. Whereas the woman is the parent (obviously ;)) and the baby is the child. Now you see that you can’t rotate the child around the parent, or at least it would be somewhat unnatural!
See this link for the Parent Child analogy.
Hope it helped!