Slerp is a constant speed, minimum torque interpolation between orientations. It's not strictly for numerical precision. Indeed, for small rotations a linear interpolation is visually good enough that you can drop down when the cost of branching is low enough.
Gimbal lock is a disadvantage but it's not the biggest one.
One way to define orientation is with a set of orthogonal unit vectors, up right and forward, say. In other words, the standard R[sup]3[/sup] basis vectors multiplied by some orthonormal 3x3 real valued matrix.
So, with an orientation X in M sub 3 of R, which is computed somehow from the rotation matrices P Y and R defining some pitch yaw and roll, not generally commutative, define some system with: 1.) a well defined order of application, 2.) composition of rotations, 3.) preservation of representation, i.e. for any orthonormal matrix X produced by your system you can find some p y r angles which can be used to obtain the same matrix.
If you are an astute reader, you may immediately notice that only two of these things are possible at a time.
Another way of looking at it is from the perspective of information theory. How much can you compress an orientation?
Three orthonormal vectors, so you can always compute the third from the other two. That leaves two vectors. They're normal, so you can always compute the third coordinate from the first two. That leaves four real numbers, the same as a quaternion. Can you do better?