I encountered a problem recently where printing a page with Internet Explorer caused a page break before the main content, chopped the content off after the 2nd page of the printout and then printed a blank page. So the users would get 3 pages, a page with the header, a page with the top part of the content and a blank page.
The issue turned out to be caused by a DIV that was being styled as overflow:auto that contained a long table. The table had recently increased in size so it now spanned two pages.
To fix it, all I needed to do was set the DIV's overflow style to visible in the page's print stylesheet.
overflow: visible !important;