Curiosity killed the cat but.. I'm kinda wondering how how a subobject is rotated around a parent object during rendering.
I'm assuming it's doing a hierarchical setup.. The suboject (like a turret) gets rotated/scaled/translated then the parent object gets rotated/scaled/translated (and the children also get that matrix done to them).
If so, is it possible through code, to let the child know beforehand the change (delta) rotation of the parent object from frame to frame. I.E. if the ship is rotated to (10,0,0) then rotates to (15,0,0) to let the child subobjects know of that 5 degree difference. You could then apply a modifier value to 5 degree delta and modify the subobject first.
You might get the idea i'm hinting at... thrust vectoring. I believe I've seen the old thrusters use something like this.. could this be modified to fit subsystem too?