Ran into this problem myself on my last project (7 languages in 12 different countries).
Decided togo with the flow and make the best with the node translation duplicates.
I made a sync for the different product elements (stock, ubercart core data, like price etc). After that i needed to run though ubercart and made different parts like product overview etc base there data on only the main tnid. Otherwise you get duplicate data all over the place. Also made sure cart products are always the main node (tnid)
All by all a pritty dirt job. My advise. Try to come up with a solution to translate the form elements you need to get translated (like title, description, path...) Seems faster and cleaner then my last approach. And yes...shouldn't be that hard....