As you noted, localStorage is likely the way to go. The downside of doing this client side is that you'll have to late bind your script tag. I would try:
var my_site_cntr = parseInt(localStorage.getItem('mySite.counter')||0);
my_site_cntr++;
localStorage.setItem('mySite.counter', my_site_cntr);
var scrptElem = document.createElement("script");
scrptElem.type = "text/javascript";
scrptElem.src = "http://your.site.com/js/big_script.js?version=" + my_site_cntr;
scrptElem.innerHTML = null;
document.body.appendChild(scrptElem);
Sources: