Dal punto di vista del JS non saprei dirti.
Forse ci vorrebbe quacosa del tipo (ma non conosco la sintassi esatta - dovresti chiederla nel forum JS)
codice:
if(document.getElementByTagName('style').getAttribute('media') == 'print' { ... }
Invece per risolvere da un punto di vista "solo CSS", potresti provare a dare (anche) un id all'oggetto da nascondere, e definire il display:none all'id solo nel CSS media="print": il selettore dell'ID dovrebbe sovrascrivere quella della classe, e quindi il JS non agire in quel contesto.