Hi,
I do encounter this issue a lot of time, and I think it is perfectly fine to create a rig that takes this in consideration. By that I mean, either your solution to compute the actual target by doing some vector maths, or actually attaching the head to a dummy gameObject that itself would have the forward pointing properly. you would parent the head to this gameObject ( if feasible of course).
Bye,
Jean