You may try to have a look at FF9's animation format, since that's from around the same time (even though they don't seem to have much in common engine-wise). What they did is, they only stored tracks for the variant quantities (also per-byte, ie separate tracks for high and low bytes). So you'd have a first frame with root position and angles, but only those that didn't vary would directly be the values, and for the others there'd be pointers to the relevant tracks, you could identify whether you had a pointer or a value through flags written right after each value.
Well, dunno if that'll help.
http://wiki.qhimm.com/FF9/File/0x03