But the minute an airline considers a "hardship" case, they are vulnerable to some human error, or relying on a human to make a decision, when they may not properly be trained to understand if it's more important to let a "hardship" case go first, instead of a high status frequent flyer. Seems there should be a computer formula, that doesn't allow for deviations.
My HUNCH, based on nothing, is that a random allocation, like drawing names out of a hat, would be the most fair. As it's the only method where everyone would walk away feeling that everyone had the same equal chance /opportunity to get rebooked on the earliest flight.
People can argue fare paid, FF status, etc., til you're "blue in the face", but it's hard to argue with a random drawing for fairness.