I wouldn't panic too much over validation errors, they are really far behind in terms of current web standards.
As a test, I'd change/run these before you close the body tag to ensure its not trying to parse on html that doesn't exist yet:
<script>
$(document).ready(function(){
$('ul.sf-menu').superfish();
$('.flexslider').flexslider();
});
</script>
For things that manipulate DOM items, if you run them before the html is parsed, it can potentially cause issues with manipulating those objects. (but it should be fine.) If you're getting a flash of unstyled content on your flexslider, try moving it back to $(window).load(function(){ ... });
For your div height, a worst case scenario fix is using max-height: #px; for the container.