Bitcoin's not at all resilient in the face of an attack by a government.
You're right about limiting damage from a 50% attack, however. Of course, you could agree in advance on an amount of time the majority of hashing power would have to assert that an upgrade was needed, but it's possible that would raise other problems. It may be that there's no good way to handle upgrades without an out-of-band mechanism, but if so, that counts as a strike against Bitcoin, not one in its favor.
You're right about limiting damage from a 50% attack, however. Of course, you could agree in advance on an amount of time the majority of hashing power would have to assert that an upgrade was needed, but it's possible that would raise other problems. It may be that there's no good way to handle upgrades without an out-of-band mechanism, but if so, that counts as a strike against Bitcoin, not one in its favor.