Any theme can be easily modified to allow for blocks to be placed in the main region of the front page. This is what I did to modify the standard them to work this way:
Step 1 - Modify [yourtheme]/layout/general.php
put <?php echo $OUTPUT->blocks_for_region('main') ?> under <?php echo $OUTPUT->main_content() ?>
e.g.
<div id="region-main-wrap">
<div id="region-main">
<div class="region-content">
<?php echo $OUTPUT->main_content() ?>
<?php echo $OUTPUT->blocks_for_region('main') ?>
</div>
</div>
</div>
Step 2 - Modify [yourtheme]/config.php
// apply same layout to each possible layout type
$layouts=array('standard','course','coursecategory','incourse','frontpage','admin','mydashboard','mypublic','popup','frametop','embedded','maintenance','print');
foreach ($layouts as $layout){
$THEME->layouts[$layout]= array(
'file' => 'general.php',
'regions' => array('side-post','main'),
'defaultregion' => 'side-post',
);
}