Yeh it looks prety tickey to do.
native point CameraGetTarget (int player);
native fixed CameraGetPitch (int player);
native fixed CameraGetYaw (int player);
Start at CameraGetTarget's point
you then use CameraGetYaw (int player); to get the direction the camera is orignating from. You use this to calculate an offset to get targets point that would approximate the cameras origan. 100 units might be pleanty but if you know the camera distance for sure then use that instead.
CameraGetPitch (int player); can be used if you need a Z origan for the camera (like for a face). Again accurate height helps.
Finally, get the angle from the unit point to the estimated camera point and use that as your facing angle. If the distance used to estimate the camera position is too smaler the unit will appear to be facing at some object in the distance infront of the camera. If it is too large, units to the sides of the camera might appear to be facing at something far behind the camera. The approach above would work best if you know how far the camera is from its target or if the target is in the middle of the view.