totally agree, I still don’t know whats the issue with double printing. Anyway, I think your only solution in this case is to use something like print node or QZ which allows you to bypass the browser and print directly.
@Maxwell_Morais built an integration for print node worth checking out in your case
https://discuss.frappe.io/t/print-node-integration-for-frappe-framework/20292