End of body vs. head tag is fine. My reasoning is that it can currently be overridden but with the change, anyone that wishes to override our built-in JavaScript in their project cannot. I'm not sure that anyone even is, or exactly how well it would work out to do so. However, its best if reusable apps maintain the block tags in the base template so that that extensibility isn't lost.

If the JS at end of body vs. head issue makes keeping the block tag complicated we can always introduce a new block tag. Otherwise, we could make the block js tag just live at the end of the body.