As I'm sure you've realised, you can only use bone_getangle() with hinge's (not ball constraints). Using two hinges per angle should be fine as long as you rotate the bones in the same order that you rotate the hinges. Just make sure that you place another small entity in between these two. I wrote that system, I'd now...
BTW: hinge angles always return local angles.