Set system.weight to a low value for block module.
Block should go first so that other modules can alter its output during hook_page_alter(). Almost everything on the page is a block, so before block module runs, there will not be much to alter.
function block_update_7000() {
db_update('system')
->fields(array(
'weight' => '-5',
))
->condition('name', 'block')
->execute();
}