No need to hardcode modernizer in header.php. Instead you can register it like your hcfw_functions JavaScript file. Then you can make modernizer a dependency of other scripts so WordPress enqueues it only when needed.

If you need modernizer on every page you can just enqueue it at the same place where it is registered. Just uncomment the call to wp_enqueue_script('hcfw_modernizer');
Lets move this to the same place where the rest of our scripts are enqueued.
We can register normalize.css and make it a dependency of the theme's stylesheet so WordPress can handle loading them in the right order.

Since the theme's stylesheet will be load on every page we don't need to take the extra step of registering the stylesheet and then enqueing it we can just enqueue it.
We can make an alias to the global jQuery object in the context of the ready() function. All this means is we can use the $ for jQuery safely since our code is contained from the rest of the JavaScript on the page. And writing $ is much easier than writing out jQuery.

See "Aliasing the jQuery Namespace" http://api.jquery.com/ready/