What I did in similar situations is to use a separate file for print.css.
<link rel="stylesheet" type="text/css" href="global.css" />
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
If the browser prints, the file will be downloaded first global.css, and the file print.csswill overwrite something back.
Keep in mind that all rules background: *will be disabled in all browsers by default when printing, so some styles will be compromised independently.