Make sure the Javascript you load on every page only runs when it is needed.
You can do this either by running the bit you need from an explicit script tag on the page:
<script>
mysystem.doContentPageSetup();
</script>
or you can detect the kind of page in the javascript itself
function init() {
switch ($("body").attr('page-type')) {
case 'content':
doContentPageSetup(); break;
// etc
}
}
You should be able to stop the javascript issuing un-needed Ajax requests that way.
The reason why you want to load all the javascript in one place is that it doesn't get loaded again (as long as it is in cache). So thereafter having the javascript 'load' on pages where it isn't needed is almost free, both in terms of user performance and in terms of your server bandwidth.
Add to that the issue that fetching a new file has a much bigger overhead than fetching a bigger file (i.e. 2 files of 20KB are much more than twice as long to fetch than one of 40KB), you may as well have a big minified JS file.
That said, most folks don't manage to get to just one. I often have three: fetching jQuery from a CDN, then my own code, then the javascript tracking code. Because I prefer a tiny bit slower loading, and someone else can pay a bit of the hosting cost!
So the second thing is, not to take the guidelines of automated tools too seriously. Sure they'll complain when you have more than one script, but the difference between two cached scripts versus one is very slight. The biggest win is when you have the same script/scripts loaded on every page, because you only pay the bulk of the time cost on the first.