Очевидно, что правильное решение - поправить кривую серверную часть.
Но если костылить, то можно сдалать как-то так:
<input type="file" onchange="this.name=hidden_file.name; hidden_file.parentNode.removeChild(hidden_file); this.removeAttribute('onchange');">
<input type="hidden" name="file_field_name" id="hidden_file" value="no file">
Т.е. если файл не выбран - значение для отправки берётся из скрытого поля.