I'm trying to rotate parts of an armature with code and finding that pieces of the armature have their axis oriented differently for some reason which makes looping through the pieces and doing the same thing impossible. Rotating on the Z axis in a positive direction for one is a negative direction for another. Through fooling around with the armature options, I found that I can see the Z axis for one is pointing up while another it's pointing down. How can I fix it so that both are the same while not destroying the weights to my mesh? Can't I just say "voila, your axes are now this way!"?
You should just be able to correct bone roll in edit mode, which won't deform the mesh. This may still cause issues if you have some constraints specified in world space, but should otherwise be fine. In python this would be changing the EditBone, not the PoseBone.