I think there is not much we can do about that. Browsers do not allow JS code to define the download path.
If you set your browser setting to Always ask for download actions, the browser shows the OS native Save as … dialogue. Depending on the OS, it may or may not remember, where you did save you last file. Usually it presents that directory the next time you start a download action.
The only way to avoid this, is to use a browser extension. Browser extensions have a limited possibility to define the download directory. The limit is: It can only be in the browsers Download directory defined in the browser settings.
As Tony pointed out. The Browser extensions Native Saver functionality was able to define a full path, in combination with a paired external saver.
The new: Native Saver API, will allow us to overwrite existing files, once we allowed the browser to do so. → The Native Saver API is not supported by FireFox yes. It is supported by Chrome-like browsers.
I do not know, if it would allow you to define the download path. … I did not read the dev docs yet.
But for apps that use it, users still complain about the workflow. They have to “jump some loops” to make it work locally.
It seems most users prefer to send their stuff to the cloud, where it can be harvested by the big 5.