I am trying to pose bones in gimbal mode but they always rotate on odd angles even though the red arrow shows the proper angle of rotation. Why is this and how can I fix it?

I am trying to pose bones in gimbal mode but they always rotate on odd angles even though the red arrow shows the proper angle of rotation. Why is this and how can I fix it?

That red line that shows up when you are rotating means you are locking the rotation to the X axis by pressing X - this will be the world's X axis.
When you first start to rotate by only pressing R the rotation is restricted to the view orientation, meaning it will appear to rotate in a circle as seen in the view you are using.
You can also lock the transform to the objects local X axis by pressing XX.
This can also be adjusted to the Y or Z axis when moving, rotating and scaling. Also to remove an axis from the transform also press Shift. eg pressing S then ShiftX will scale on both Y and Z axes.
You can change the transform orientation used by the widgets in the header menu.

Sometimes you can also find it helpful to use RR which puts you in trackball rotation - that is not locked to any particular axis.