Hey,
I've run into the same limitations with printing. My solution was to write an addin that calculates the size of the area you want printed, the number of pages and size of pages to be printed on, and then uses the getbitmap function and dynamically shifts the view and scale to cover the desired area at the appropriate scale, taking multiple images to fill the entire available page area.
It's not a great solution, in that it does not give a high resolution print; you get 96 dpi (or whatever your screen resolution is) printouts and that's it. However, the nice thing with the add in is that you get 96 dpi regardless of the size of paper or the size of area to be drawn, so you can make a larger map covering a larger number of pages (or larger page size) that is still at least 96 DPI.
If you are interested, I can post the addin. It's still in kind of the alpha/beta stage but its been working on a few different systems with a couple of different printer types with no issues.
Norman