Since bitcoin is decentralized, introducing new client will be minority initally, how do we make sure that 50%+ users are to run this new client.
Maybe the new hard fork features (variable block size limit and whatever else) could be built into a release and set to activate at a certain time (certain block?) in the future. The majority of users can then be expected to support the hard fork if the activation time is set far enough away.
(I'm sure solutions to this problem have been brought up by other people... this is just my guess)