I like your idea but we still need to use the nonce counter otherwise we cannot generate more than one secret per account per block height. To fix the problem of forks we can require that the block id is at least 720 blocks in the past. It is not really important which block id we use as long as it cannot change in the future so using the nonce to determine the block height is not really important.