I use a snippet for this, comes very handy for keeping the need of different templates to a minimum.
Just insert the snippet call in the content field or a TV (or direct call in the template) and scripts are automatically added to the head or the end of the page.
Excellent for me. Easier to maintain.
scripts_map Snippet:
<?php
//adding scripts before the </head> tag
$modx->regClientStartupScript('assets/templates/myTemplate/js/jquery/jquery-1.4.4.min.js');
$modx->regClientStartupScript('assets/templates/myTemplate/css/map.css');
//adding scripts before the </body> tag
$modx->regClientScript('assets/templates/myTemplate/js/jquery-gmap3-3.2/gmap3.js');
And then call [[scripts_map]] in a template, or a content field in a resource or even a template variable where you can add more of them like
[[scripts_map]] [[scripts_slideshow]]
Of course if you’re going to use jquery sitewide makes sense to place this call directly in the template with normal <script></script> tags.

This makes more sense for page specific scripts or widgets with javascript.
More info about it in the docs:
http://rtfm.modx.com/display/revolution20/Adding+CSS+and+JS+to+Your+Pages+Through+Snippets