Every hardfork without overwhelming support can cause a network split.
and thats why all consensus using proposals have gone with "overwhelming support" before even thinking of activating.
also for the silly people comparing it to ethereum.
ethereum was not a consensus proposal it was a intentional split. (some call a bilateral split)where by extra code was added to intentionally ignore the opposition rather then find mutual agreement.
google: ethereum --oppose-dao-fork
no other bitcoin implementation wants an intentional split. but some devs on segwits side want those not supporting segwit to split away. by calling anything not supporting segwit an altcoin... even though the nodes not supporting segwit are actually running on the mainnet so are not an altcoin (showing how misinformed and desperate segwit enthusiasts are getting)
core actually advised non segwit supporters to intentionally split.. non supporters laughed and refused
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--
again only core, who have stated core would do an intentional split to get segwit added, if things got desperate enough
If there is some reason when the users of Bitcoin would rather have it activate at 90% ... then even with the 95% rule the network could choose to activate it at 90% just by orphaning the blocks of the non-supporters until 95%+ of the remaining blocks signaled activation.
the real funny part..
if it reached 90%.. instead of activating it and just causing a bit of TEMPORARY consensus orphan drama risk.. they would prefer to split the network.. (foolish knee jerk plan)
core do not trust or want consensus, its why they decided against nod consensus and instead skipped to a fake (consensus emulating) pool vote