Classification of Orientation
I don’t know about your method 3, but I do know about quaternions and Euler angles. I was discussing them over a beer last night, believe it or not.

The orientation (attitude) at each point has 3 degrees of freedom so 3 Euler angles describe it completely. A quaternion has one extra element which is superfluous. The point of quaternions is that some geometrical calculations are easier than with Euler angles.

The fact that the relation between input data and output data is nonlinear is not a problem, if you have sufficient data and you have a nonlinear model (basically, unless you insist on logistic regression). 

But you can make it far easier for your model to learn the relation if you transform your input, or compute a different input from your raw data, that has a simpler relation.

For example, as input for your model you could provide the Euler angles of the orientation of each foot, the lower leg, the upper leg. But you can also compute the bend at the knee and the ankle, and the model will probably learn from that more easily.