How to fix broken file.module function 'file_ajax_progress' without hacking the core and patching after every update?
Patching core is not the same as hacking core.  Many of us have patched versions of Drupal in the wild (eg, using Secure Pages).

You need to work out how you want to manage this between upgrades.

On sites where I don't track Drupal's repo, I keep a directory of patches next to the DOCROOT.  Before I upgrade, I check on whether the patch is needed or not.  I then drush pm-update drupal and apply patches.

On sites that I have built with git, I can typically build the site in its own branch, apply patches, and then upgrade core versions by merging the latest tag and doing the database updates.