How can I default a new post to being saved?

This should work. It’s the way press-this gets the post id when you click the bookbarklet.

add_action( 'load-post-new.php', 'prefix_save_it' );
function prefix_save_it() {
    // define some basic variables
    $quick = array();
    $quick['post_status'] = 'draft'; // set as draft first
    $quick['post_category'] = isset($_POST['post_category']) ? $_POST['post_category'] : null;
    $quick['tax_input'] = isset($_POST['tax_input']) ? $_POST['tax_input'] : null;
    $quick['post_title'] = isset($_POST['post_title'] ? $_POST['title'] : null;
    $quick['post_content'] = isset($_POST['post_content']) ? $_POST['post_content'] : null;

    // insert the post with nothing in it, to get an ID
    $post_ID = wp_insert_post($quick, true);
    if ( is_wp_error($post_ID) )
        wp_die($post_ID);

        $quick['ID'] = $post_ID;
        wp_update_post($quick);
    }
    return $post_ID;
}