Original post, in Polish language: Replay protection zrobione lepiej, czyli jak to powinno wyglądać - Polskie Forum Bitcoin
As far as I know, SIGHASH_FORKID is still present in BCH. If that’s the case, then in my opinion, it should be replaced with something better. The reason is simple: it breaks previous timelocked signatures, before the split. The locktime field in transactions was present since 2009, so we can safely assume, that it could be used before to create some transactions like “Now we have 2015, and this transaction will be valid in 2025 or later, unless I will move the same coins in a different transaction earlier”.
So, how to implement it better? The answer is SIGHASH_SINGLE|SIGHASH_ANYONECANPAY, where the same amount is present on a single input, and a single output. Then, such transaction could be free for each user, if such input was present in any block before the split, otherwise currently used fees should apply. Then, miners could automatically collect such transactions with such sighashes, construct huge transactions with N inputs and N outputs, where N coins would be splitted at once, by including a single coinbase output.
Of course, to avoid locking users with timelocked SIGHASH_FORKID, I think both options, with and without this flag, should be accepted in the future.