FYI, hard forks have occurred in the past.
Not in bitcoin.
The core devs may want to change the definition of a hard fork in order to make this claim, but it has. If it had never hard forked, you could still run the original client, but IIRC, at some point an alert was sent out about any client older than 0.5.x not validating blocks after a certain block number due to a fork. At the time, there were months of notice, but multiple pools were still running 0.3.x and not happy about being "forced" to upgrade. They weren't forced to, and there was no "core" yet, but they were the economic minority, and even then, without fear-mongering, and even though bitcoin had tanked from $40 to $2, they still wanted to stay on the longest chain. If an old client won't work anymore due to the change, the fork was hard, period. That having been said:
Yes, bitcoin has had a hard fork in the past.
No, there won't be two relevant chains.
ETA: relevant is a key word in that second point. There may be a subset of the 25% or 10% or even 5% (depending on what percentage is treated as "consensus" in any intentional hard fork) who continue to work on the old chain intentionally or otherwise, but even if some exchange validated that short insecure chain, nothing would happen but dumping, because there wouldn't be any demand for it.
Now, regarding hard forks being dangerous, unintentional hard forks (or even intentional ones that don't have "consensus") could certainly be dangerous and lead to separate continued chains for a longer period of time, but "because we're core and we said so" doesn't really have much to do with consensus, and if the right set of pools and exchanges got together and decided they wanted to fork, they could likely do so without the support of any other nodes and ram the change through regardless of what anyone on this forum prefers.