Core working on the code doesn't mean only power to do whatever they want. They are also responsible and accountable if something goes wrong. If we get to a point where the blocks are always full it is their responsibility to manage that situation. If they will not be able or if they won't do anything then everyone else will simply fork the code, change the blocksize limit to whatever they agree upon as long as it is bigger than 1MB and they will do anything in their power to continue using bitcoin the same way as they did before. Remember that it only takes one single line to change the blocksize and that is something that everyone can do so we don't depend on Core to do that.
The rage will start from the normal users who will simply reduce their number of transactions and that will impact everyone. If everyone will be impacted by the reduced number of transactions then they will take measures and the easiest way is to simply fork the Core software, bump the blocksize limit with one single line of code.
I have learned that the wheels of change from an ecosystem move slower and slower directly proportional with its size. Since bitcoin is today much bigger than it was 5 years ago it will take a bit of time for the wheels to turn when blocks will be full and the fees will start to rise. Fortunately we already have a solution to that here and now (SegWit) which also opens the door for new improvements and buys us time in order to deploy a bigger and more complex solution (like the hardfork).
http://gavinandresen.ninja/a-guided-tour-of-the-2mb-fork
2mb is not a simple one-line change, and the implementation used for btc/classic is about 900 lines, based largely on coding crafted for XT. A lot of that is simply testing code, but even the core change of 2mb is almost 20 lines:
its quite simple, you can identify your client (such as classic-0.11.2.b1) and you can view node count at https://coin.dance/nodes (IIRC they filter out nodes if they detect multiple on a single address (ie: someone pretending to run 10 nodes on one computer)). If you are a miner, you can follow BIP009 to include a modified versionbits, or you could simply include a message or code in the coinbase transaction (almost every miner out there does this already, and many even include BIP100 voting tags)
hashrate is pretty much the most secure method of voting as it requires control over bitcoin mining. Of course, only miners can vote this way.