What you are describing is what
I and others call a bilaterial hardfork-- where both sides reject the other.
I tried to convince the authors of BIP101 to make their proposal bilateral by requiring the sign bit be set in the version in their blocks (existing nodes require it to be unset). Sadly, the proposals authors were aggressively against this.
The ethereum hardfork was bilateral, probably the only thing they did right-- though it appears to have mostly been an accidental side effect due to the fact that their hardfork was rewriting their mutable state directly.. It has a benefit of being cleaner, but it is laughable to call it a "safe hardfork", because it eliminates only one fairly boring source of risk.
The comparisons so soft-forks do not hold-- normally a softfork does not split the chain at all. And it is safe precisely because any fraying it causes if it causes any is not lasting, and will automatically heal without human intervention or significant disruption.
Maybe you have not read the whole proposal carefully. Or you don't really know the details about how a soft fork works? Please tell me under which condition a soft fork will create a chain split, so that I can be sure that we are talking about the same thing
It is not a bilateral hard fork, it is a soft fork followed by a hard fork. The purpose of this solution is to avoid chain split, while a bilateral hard fork is to split the chain
It is difficult to argue against this solution because what it does in the first phase is exactly what a soft fork does: "It is safe precisely because any fraying it causes if it causes any is not lasting, and will automatically heal without human intervention or significant disruption." This automatically healing process is when those old style blocks becomes orphaned and old miners automatically switch to work on the longest chain created by upgraded miners. If your criticize against this method is reasonable, then it will automatically apply to any soft fork
You're adopting a faulty analysis that comes from 'assuming the existence of a privileged position', why is it that you assume the non-upgraded are incurring a huge loss?
Non-upgraded miners are incurring a huge loss in a soft fork because all their mined blocks are orphaned by the longest chain, and they must follow the longest chain if they use default client behavior (In a soft fork, upgraded nodes with 0.5MB block size limit will reject 1MB non-upgraded blocks, but non-upgraded nodes will not reject 0.5MB blocks generated by upgraded nodes, so all the blocks that is > 0.5MB will be orphaned if the upgraded side have major hash power. The non-upgraded nodes can not split the blockchain because they always regard the upgraded blocks are valid and always reorg to that chain)
From the perspective of the non-upgraded nodes, the parties with the mutilated protocol simply do not exist. Due to being bilateral, the same is true in the other direction. But none of this creates automatic winners or losers.
Yes, non-upgraded nodes will not see a new chain that does not comply to their rules, however in this solution, they will notice that their own chain stopped growing, they won't have a block for months, it just becomes obsolete
Of course the second phase is still a hard fork, however, after the soft fork, all the miners are already on board the newer version, this is a big step forward if you compare it with a standard hard fork where many different versions are running by miners and nodes. So after all miners have been upgraded to new version, the only inconsistency left are those non-mining nodes. Since all the hash power have switched to the new version, there will never be any old version blocks mined, so for those old nodes, although they can ignore what happens on the new chain, what happens on their own chain becomes strange: It totally stopped growing. They have to upgrade if they want to spend their coins, but since all the transactions on the old chain is disabled, there will not be a loss for anyone running old nodes if they insist to do so
Of course you could always modify your code and create a chain split and adjust the difficulty and extend that chain forever, but if you just upgrade or not upgrade by default, the chain will automatically heal without human intervention