Imagine you have really really slow internet or are downloading a somewhat big file from a rate limited host with no resume or your region has unreliable power and there are constant power failures.
And then imagine you use Chrome. The incomplete files are stored as randon named files with .crx_something file extension. And you won't be under the assumption that the file is actaally a fully downloaded file when looking at it in the future.
Now imagine you're using firefox. There's 0 kb files with full file names. Except it's not a full file. It's a file that was being downloaded from a unrealiable server and was cut off or maybe there was a power failure and you have this file that looks like a normal file, but is 0 kb.
So, I suggest using Chrome's approach of not using original file name when downloading a file and only set the name after the file is fully downloaded.
I am such a guy with such unrealiable power and internet and I constantly have to deal with this.