I think it is best to attempt to get the miners to agree to an upgrade first, and depending on the feedback the miners give, a USAF change can be considered if the miners do not agree to a change. There is a big difference between a single miner with 10% of the network hashrate opposing a BIP, and a single pool with 5% of the network hashrate in favor of implementing a BIP. If it is the former, this is probably a miner holding the network hostage as you describe, and a USAF should be considered, while this is probably not the case for the latter.
It is very easy to fake economic activity and nodes. It is also difficult to tell if two people claiming to be two different people on the internet are actually two different people. What cannot be faked are found blocks. As I mentioned before, the miners have long-term incentives aligned with that of the long-term health of bitcoin.
OK, before the developers propose something to improve upon the protocol, they should meet with the miners first to see if they agree, then post it in the Bitcoin Mailing List, IRC, and the forum?
BIPs should be implemented the same way they are implemented now. Once a BIP is agreed upon and put into the codebase by the devs, the miners should signal support or opposition to a BIP via their found blocks.