I'm thinking about your hard fork definition.
Because a soft fork is backwards compatible and when another soft fork comes in, it's not a hard fork but only yet another soft fork, isn't it?
In my definition, a hard fork is when I for example have to update my Fullnode (Bitcoin Core) in order to receive the "new" Blockchain. If I don't upgrade, I will only get block valid with the old version but not with the new one.
A hard fork only appears, when the blockchain itself splits, isn't it?