I think there should be a decided, known place where these bug fixes / hard forks are announced, with a "please speak now or forever hold your peace" kind of setup. If there is a big controversy about something, then we can take it to stakeholder vote. If not, then the update can be done without it.
Ideally, this should be done on-chain. This is how I imagine it:
1. A committee member creates a "hard fork proposal", which includes a brief description of the problem to be fixed or feature to be implemented.
2. At this stage, other committee members are assumed to a "yes" vote and must veto to "no" proactively. Otherwise, the feature is green-lighted to be developed after a certain amount of time, perhaps 15 days. If shareholders don't like the proposal and there are not enough vetos, then they can vote in committee members that agree with them.
3. After the feature/bugfix is developed and a release candidate is created, a committee member creates a "hard fork commitment proposal" which references the previous "hard fork proposal", and also includes the release hash and block number for the fork.
4. Witnesses commit to this, and when a supermajority of witnesses do, then the hard fork will activate at the block number.