would you be able to attempt to determine the browser type the user is using (such as somewhere else, where you do have a request object, doing a request.getHeader("user-agent"), using the heuristics for what values are found, and storing the result into the user's session.
then with that browser-specific knowledge available to the download spot, it can do if ( browser type == ...) and provide the specific use and values of the content type response headers to make the browser happy.
Error: Keyboard not attached. Press F1 to continue.
Rather than make browser-specific code, which will be difficult at best, and nearly impossible to maintain with versions of browsers coming out all the time with different behaviors, I think it would be important to know what problems the headers are actually giving? What is the desired capability? What is happening?
The headers you posted are the standard ones (except with a spelling mistake for Content-Disposition) and should work as per client-expectations (they are, after all the ones that set up their browser, and should be the ones that define how their browsers work). Fooling with client-expectations can be annoying to the client and fragile to your code.