Downtown layovers are in our contract to benefit us, not the company. I have seen numerous times over the years where we have waived the downtown requirement for transit time, security, or availability of dining options.
Istanbul and Mumbai are no longer downtown. New York was once extended from 12 to 14 hours for the minimum downtown layover (is it still?). Any number of crummy layovers in the deep south were moved to the suburbs (Holiday Inns on the out lots of shopping malls were the norm in my DC9/MD88 days).
In my experience, it simply takes enough people complaining about a layover to get it changed. The company is happy to do it, since it generally saves them money.
I'm all for staying in the best possible location, wherever it may be. Removing the requirement for a downtown hotel from our contract would be the wrong way to handle the problem, IMO.