> A hard fork is determined by the users, who have to upgrade their software.
Who are 'the users' here? Light clients? Users of wallets? None of these have the power to adopt a fork, soft or hard. The collective action of the miners (or validators) defines which chains still retain liveness. For example in the hard fork between Ethereum Classic (ETC) and Ethereum (ETH) ETC was able to exist only because miners chose to to mine it. This in turn did give non-mining users the choice of how to distribute their demand and create extrinsic value for the ETC token. I wouldn't say this gives non-mining users any control over a hard fork since it happens after-the-fact.
> If the software updates automatically, then the power of hard forking lies with the developers
I don't know of a node distribution for Ethereum that works this way.
The core developers have power as in knowledge and power as in authority, the later being the traditional form of political power.