If potentiometer only works over a small area it is either a cheap one, or it is wired wrong. If it is just a cheap part, there is not much you can do. If it only changes value at the top or bottom end, it could be that you need to add additional resistor(s) to get it into a reasonable range. What size resistor(s) and where to add them will depend on the range of your POT and how it is wired.
If servo does not stop when self-centering potentiometer is in the center position, you will need to add in a fudge-factor. This value is likely to change if potentiometer or servo is replaced. Probably the easiest way to find the correct fudge-factor is to add a watch node to the POT output. Record value at center position and value when servo stops. Add or subtract the difference to/from POT output before feeding it into the servo.
To reverse direction of servo with a potentiometer, you will need to use some center-value of the POT as a stop so that values one side of that will go one direction and values the other side will go the other direction like you are doing with the joystick. If the question is how do you only go ONLY in reverse, then you need to determine if reverse is greater or less than 0.50 for servo input, then ‘map’ the POT output to 0-0.50 or 0.50-1 so servo only goes one direction.