You can easily set wordpress blog hosted in a subdirectory as a homepage. Let us assume that your blog is hosted at domain.com/blog/. To set home page for domain.com, create index.php in root directory and append the following code (note blog is hosted in /blog/ subdirectory):
<?php /* Short and sweet */ define('WP_USE_THEMES', true); define('WP_IN_ROOTDIR', true); require('./blog/wp-blog-header.php'); ?>
Now if anyone visit domain.com, they will see blog home page w/o visiting domain.com/blog.
This way you can give out WordPress its own directory while leaving blog in the root directory. You can find more information here.
Thank you! This was the perfect answer for me.