Hi Julia,
Let me try my best to answer your question based on my 6+ years of experience for both the solution proposed and also give you some possible alternatives.
Approach#1: Adding delay either via DTM "Link Delay Activation" or ask Developers to add some delay in the call.
My POV: As long as it works and doesn't hit negatively to the user experience, this is the best option.
Approach#2: Try this latest approach that I have discovered where you can ask Dev to save the values in a cookie and fire it of the next page load, not the best way to do but does serve the purpose well :)
Also, to answer your other question, Yes, when we talk about User Experience, Analytics-Tracking always takes the back-seat as it directly impacts on the Conversion negatively.
Hope this helps and don't forget to like this post by clicking the Heart Icon and move it to Solved for the benefit of the other user in the forum.
Hope this helps!
Regards,
Harsh Kabra | Adobe Certified Expert: Digital Analytics® & SiteCatalyst Implementation & Reporting®