My opinion is that styles and scripting related to specific templates should live on separate pages. This enables MCR integration later (to some small degree--I would guess a script will have an easier time migrating CSS/JS from subpages to slots than from embedded information to slots).
Separate pages also enable separate protection mechanisms to be applied to style pages. Given the recognized potential for misuse of CSS (and especially JS, though JS is probably less relevant right now), there should be a separate protection mechanism available for the styling pages, and even enabled and "on" by default. With the current system of protection (prior to MCR), that's simply not available.