Hi,
First off, it sounds like you're using an Artisteer skin. If you're creating a new skin I would suggest you start with a Framework based skin from our mojoSkins project. It supports all the latest features and has all the latest bug fixes.
Making a script async can be an issue if it's dependent on another script, as it will cause script errors if the dependency loads after the async script.
That being said, SkinFolderScripts can be moved and set as async. You can make the SkinFolderScript load wherever the control is placed by setting RenderInPlace="true"
on the control.
For example:
<portal:SkinFolderScript runat="server" ScriptFileName="script.js" RenderInPlace="true" />
To set the script as async set the ScriptRefFormat attribute to something like this:
<portal:SkinFolderScript runat="server" ScriptFileName="script.js" RenderInPlace="true" ScriptRefFormat="<script src='{0}' async></script>" />
Again, use extreme caution with this setting.
The ScriptLoader itself is for configuration of many scripts that mojo manages in that specific skin, moving it physically won't change where those scripts are rendered. Right now there are several scripts that need to load in the head of the document so moving them is not an option. We will be looking into cleaning and optimizing this in the future.
I would suggest you look at our Framework project as a place to start as we have done much of what I've already described.
Thanks,
Elijah