You could use a proportional feedback controller to drive your turret motor. We normally use them to control arm movements and prevent overshooting, but one can and will work in your case.
This presentation should help:
http://www.chiefdelphi.com/media/papers/1754
You can add a segment to the sample code provided in the presentation to prevent turret movement due to shaky driver inputs. Try something like this:
Code:
if (error > DEADBAND || error < -DEADBAND)
{error = 127;}
'set DEADBAND to represent your +/- 2 degree margin of error