Make sure your wiring is correct before you do anything else. These are digital sticks, so having a wire where it's not supposed to be, might actually be sending the "up" code, instead of the "center" code, etc...
If things really are wired propery, you may be able to gently adjust the position of the optical sensor.
Also, make sure that the rubber grommet is centered and that it hasn't been shifted somehow. Could also cause a problem.
RandyT