NO necesitas serializar todo el DOM, luego cargártelo y finalmente reconstruirlo de nuevo!
Es muy ineficiente!

Crea un objeto window, añade un DOM válido al documento e imprime esa nueva ventana!

// data es el HTML a imprimir (el contenido del elemento)
var pw = window.open('', 'my div', 'height=400,width=600');
pw.document.write('');
pw.document.write(data);
pw.document.write('');
pw.print();
pw.close();