For our 2011 robot, with a long arm to extend out to get the tubes, we used a gas shock to balance the arm. It is hard to see, but you can see it in the linked picture below.
I think there are two keys to stability. The gas shock on our arm was selected to balance the load, so the motor was just moving the arm up and down, and not really lifting it. This made it more stable in both directions. The other thing to look at is the "deadband" on the pot. You want it to have a range of "ok" readings for the arm location, otherwise the control will continue to hunt for the perfect pot value and the arm will go up and down while searches.
http://www.chiefdelphi.com/media/photos/36530