In D7 what is the correct way to create a page template that has HEAD elements specific to that page? In Drupal 6 HEAD tags were part of the page.tpl.php.  Now that that has moved to the html.tpl.php in D7, what is the correct way to create templates that need different data in head tags?
Use hook_preprocess_html ( e.g in template.php ) to modify the html.tpl.php variables.

For different JS or CSS, check the path ( e.g current_path() == 'foo' ) and add with 


drupal_add_js or 
drupal_add_css 


Set the 'every_page' option, and perhaps preprocess flag to FALSE.