Every three days (roughly) is rare to you? I don't think you'll find many people to agree with that. And it is only unpredictable if you need it to happen on a specific block. If you don't care which block it happens on, then you just need to wait a bit.
The forks that would happen under this plan would be essentially identical to the forks that happen now, and they would be resolved in the same way, and in roughly the same amount of time.
P.S. Your "flood the network with transactions" attack only works in a world without clocks. In a world with clocks, like the one we live in, we can keep a count of how many valid transactions were visible X seconds ago, where X is greater than roughly double the mean latency of the network. 30 would be a good value for X.
Bitcoin doesn't use clocks specifically because it is non deterministic. By timing the 30 second threshold you could cause some nodes to see the next block as invalid and some to see it as valid.
And yes 3 days is utterly meaningless. 1 block out of 700+ is rare by any standard. Someone wins the lottery every week thus it is pretty common to win the lottery right?
Still go ahead and fork the blockchain because that is the only way such a reckless and useless proposal sees the light of day.
If we want to keep abusing the lottery analogy, I should point out that every single node on the entire network "wins" about once a week, just not all at the same time.
I had typed up a lengthy reply last night, but I paused to consider what you have said on the subject, and then I slept on it.
My conclusion is that you haven't actually read, or at least not understood, a thing that I've said. I have two reasons for thinking that.
First, you have completely misunderstood the problem. See
here for example. Important part quoted below.
The protocol is fine and shouldn't be complicated because people are sad their FREE transactions aren't included in the next block. If you want to influence the network stop being cheap and RAISE THE FEES. More fees = more incentive not to mine empty blocks. Currently all fines combined are less than 0.08% of block revenue. There is no real economic incentive to include transactions.
TL/DR:
"WHAH. My free transactions are talking too long. I want faster free stuff".
And second, you have completely ignored the parts of my posts where I explain the mechanism to be used by nodes to resolve their temporary, local conflicts. Example
here.
Let me be very clear. I propose that:
1. nodes
temporarily reject blocks that they can identify as antisocial. Nodes already temporarily reject blocks, but for different reasons.
2. nodes have a method whereby a block that was
temporarily rejected can become accepted. Again, nodes already do this.
Further, I assert that:
1. these will not lead to permanent or even long-lived chain forks, for exactly the same reason that the ordinary chain forks that we get about once a week are not permanent, and can't become permanent.
2. any method used to game the system to create blocks that include only dummy transactions created by the attacker to circumvent rejection will necessarily require more effort than simply doing the right thing (including ordinary transactions), giving the current antisocial miner(s) a strong incentive to become a positive part of the network.