It is my understanding that the main performance issue is if scripts are loaded at the beginning of page load (commonly called above the fold) or at the end, after all the other HTML has been loaded.
weaverxjslib.min.js must be loaded at the top for optimal performance, while weaverxjslib-end.min.js does load at the end.
I don’t really understand exactly what a synchronous JS file is. Not a term I’ve heard before.
Follow up: Asynchronous Javascript seems to be needed to allow JavaScript to continue to run while waiting on some sort of data (like from an external site.) Some of Weaver Xtreme’s JS may need to wait for parts of the HTML to load because it can’t work properly until that information is available. This is necessary and unavoidable and typical best practice.