Tuning the PID Library

Im am working on reworking my controller for a near space balloon. It basically controls the spin on the payload as it goes up using fins. The basic pid controller works well when I give it a good input and have been very happy with it so far. The problem I am having is over shoot. With wind gusts, turbluance and other issues, I can almost instantly loose control and then I try to spin my self back to a specific direction. However, the balloon payload has signifigant rotational inertia so that over shoots can be severe and the time to dampen out is to long. Its not to bad at low altitudes, but above 30-40K ft, it can get really bad as the air gets really thin. Is this something I can use the bias for?

I was thinking I would need to adjust my bias based on the rotational speed on the payload and my altitude as I am attempting to reach my desired direction. So, if I see the payload is spinning to fast the bias would provide a way for me to back off the controls some and let the rotational inertia that has built up move me to the correct location. The only issue would then be stopping it.

I guess another way of looking at the problem is that my main PID input is the offset from the desired direction. However, I really need two inputs. The offset and the rotational speed which needs to be controlled as well. To rotational speed will most likely have a maximum value at which point I may need to brake and slow the rotational speed reguardless of the my current direction.

I have tried doing this by just looking at my rotational speed, and if it ever went above X deg/sec, just turn the fins in the oppisite direction and slow the spin down. But this just doesn't seem very elegant.

Any suggestions on a possible solution or controller design?

Ken