My take on themes is that the template files should only contain HTML and presentation logic.
And really don’t like themes that got a mangled title tag. Sometimes you can’t even override the default title with a plugin.
HTML5: Why use it at all?
div: Agree. The most important headline should be h1 and that is never the homepage name except for on the front page some times.
widgets list: Its very ugly to use lists that way. List are to display text I think. like grocery list. But list items can contain block elements. Check the standards both 3.2 and 4.01 say they can contain block.
function_exists: I agree. WP has hooks for a reason. They are there to make it easy to override.