I'm no expert, so someone correct me if I say anything wrong.
You should be able to customize the display for your monitor by setting an appropriate ModeLine in the Monitor section of your xorg.conf and listing it in your Modes option in your Display subsection. Default VESA modes like "1280x1024" are built in to X, but these defaults don't always align with the screen.
A ModeLine consists of something like this
ModeLine "my_1280x1024_60" 108.00 1280 1312 1424 1688 1024 1025 1028 1066 +hsync +vsync
which happens to work well on my SyncMaster 930B. Starting from a working modeline for your monitor, you can slowly modify the horizontal and vertical timing values to shift the display a little bit. Which parameter is which is defined in the xorg.conf man page. I don't pretend to understand the specifics, I just remember something about experimenting by changing the hsyncstart and hsyncend (values 1312 1424 in the line above) by a couple multiples of 8, and changing vsyncstart/vsyncend (1024 1028 above) by just a few units (multiples of one). You can probably find on google linux instructions on how to alter them by hand.
However, I've heard that specifying a few bad parameters that are out of range can damage your monitor
, so use it with caution.
xvidtune is a useful app that creates a modeline for you and allows you to interactively adjust it left, right, up, or down, and see the results. If you're on Suse, I know Sax has a similar tool (although I used to struggle with it). To get a modeline to start out with, I believe you can find what it's using as a vesa default by running with -logverbose 5.
I hope some of that helped.