I'm struggling the same issue from time to time on a shared server (Strato) as well. One day image upload works nicely, next day not. I've just realized that they are running a "smart" filter and block suspicious traffic with a 503 (Service unavailable) response (to eliminate automated guestbook spam, they say). This 503 response obviously crashes the JSON parser so upload stuck at 100%. Disabling the server-side "smart" filter removed that issue for me.
Not sure if it is feasible, but can't the AJAX response be checked if it at least looks like a JSON packet or catch the JSON parser exception and display some useful popup?
Just in case, reply from server is:
Stack trace is:
VM268:1 Uncaught SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse (<anonymous>) at Function.parseJSON (JqueryCore.js?v=1516377249:2) at XMLHttpRequest.<anonymous> (InputfieldImage.min.js?v=119-1516377246:1)