The only way to "de-prioritize" static HTML divs is to put them at the bottom of the markup and then move them around with CSS. That's a really ugly solution that doesn't even work on some browsers (e.g. IE6, which doesn't render the page until the markup is done streaming), and it would be even worse in LiveSite because it would throw off the authoring view. And because your browser doesn't care what's generating the HTML, LiveSite doesn't have a magic dropdown to prioritize components like this.Instead, the approach I would strongly suggest is to change your component to display an empty shell, and then after page load, run an AJAX request to fetch and display the data.
What kind of scripts are we talking about here? Because XSL and externals happen on the server side, and JavaScript happens on the client side. If your webservice calls happen in an external or controller, then they necessarily always happen before client-side scripts. If you're calling your webservices from client-side JavaScript via AJAX, then this has nothing to do with LiveSite and everything to do with your custom JavaScript. In such a case, the chaining of AJAX requests into whatever order you require is completely custom to your solution.
facebook panel is calling its scripts and then only the next components web service is called.....