well you could use a normalised quaternion with seperate scale to avoid loosing too much data, which would be a regular vector with a float attached (a direction can be compressed into a 3-componant quaternion with 4-componant set to 1 if you're happy to ignore the scale).
Quaternions have some nice handy shortcuts too, but constantly converting from one system to the other can be awkward.
talking about quaternions, qfcc supports denormalised/standard quaternions 4-componant as a native type.
its very tempting to expand fteqcc to support this too... matricies or quaternions, either would be fun to pass all over the place in quakec.
I think the plan is to get csqc doing the skeletal animation stuff due to the fact that it then doesn't need to send it all over the network (quite so often).