It's an issue with Safari. I am not sure if it's a bug, but the solution is to remove the empty file fields from the form before uploading the content.
As you can see from the request form data. There is no empty upload field in the successful requests.
Something like this should work for you.
Code:
$('input[type=file]',form).each(function() {
var files = $(this).prop('files');
if ( files != undefined && files.length <= 0 ) {
formData.delete($(this).attr('name'));
}
});