Make metabox of custom post type fully autosave- and bulk-/quick-edit compatible

WordPress does not send the content of custom fields during autosave (just title, slug and content). That’s why the custom field content will be deleted if you try to save the data: You cannot see the difference between deleted and missing content.

I would create a separate autosave function for that, because the way WordPress handles it can change any time, and there is no real API. The saved fields are hard coded without any filter:

if ( fullscreen && fullscreen.settings.visible ) {
    post_data["post_title"] = jQuery('#wp-fullscreen-title').val() || '';
    post_data["content"] = jQuery("#wp_mce_fullscreen").val() || '';
} else {
    post_data["post_title"] = jQuery("#title").val() || '';
    post_data["content"] = jQuery("#content").val() || '';
}

if ( jQuery('#post_name').val() )
    post_data["post_name"] = jQuery('#post_name').val();

Look at wp-admin/includes/ajax-actions.php and wp-includes/js/autosave.js to see how it works.

So basically create a copy of that JavaScript file, remove anthing you can reuse and change just the fields you want to save automatically. Then enqueue it with 'autosave' in its dependency list.