When using servo.writeMicroseconds, the parameter is different.
It is no longer degrees, ranging from 0-180. It is microseconds, ranging from 1000-2000.
If you have a servo sweep and it uses servo.write, the loop will likely from from 0-180.
If you change that servo sweep sketch to use servo.writeMicroseconds, change the loop to cover 1000-2000.
This should produce the identical range of movement.
Then you can start to expand the range. Try 950-2000. Does it bind? If so, change it to 975. If not change it to 900.
After you find the actual limit of the bottom, experiment on the top. Try 2050. 2100. And so on, until you find the values it binds at, them back off a few microseconds so that it does not bind.
Obviously, this means uploading a new sketch each time. This is where the pot would be handy.
Oh, you might find that individual servos have a different absolute maximum range.
Once you have those values, you can use them when you attach the servo.
If you do not specify, the servo uses a range of 1000-2000 when you attach. But if you do specify, your values are used.
So you might do something like servo.attach(pin,950,2100)
Then that servo will use 950 and 2100 as the limits on the range. You could even then use servo.write with 0-180 being mapped into you range. (I think)