Suppose I have 10 pre-fork bitcoins, and after a fork into core chain and classic chain, in principle, I can spend them on both chains. However, if it is prohibited software wise, then the fork will not destroy the economy integrity of bitcoin, e.g. limited total money supply. Thus a hard fork will become much safer
So, when I spend those UTXO on core chain, the classic software would detect core transactions in the mempool and send them to an unspendable address on classic chain. And when it is spent on classic chain, the classic software will also broadcast a core transaction, spend it on core chain into an unspendable address
Of course this will require that classic software to monitor transactions on both network, need some extra design and coding, but then we can safely have the hard fork and greatly reduce the chance of a splitting economy
In that case, exchanges can run both software. However, the post-fork coins with less hash rate support will have less value, so that no one with pre-fork coins will be interested in spending on that minority chain, the coins mined on that chain will also worth much less, so that chain become economically unfeasible to sustain after a while