I know that MVC and by definition Sitecore MVC renders components from top to bottom order, but is there any way to force (hack) a controller rendering (which is used in the head of the page) to be rendered after another specific rendering lower down in the page?
I know this kind of makes an implied dependency which is crappy and generally goes against the philosophy of MVC, but I don't see another way around this particular problem. All the markup needs to be in place in the page at the point of page load, so a JavaScript-based solution won't work here, unfortunately.