This has come up before, about 2 years ago. I couldn't find the thread so it may have been on AFF. Anyway Dave Noble pointed out (I disagreed with him at the time, but have since come around to his way of thinking) that to be truly fair, pax should be asked by fare class (flex to non-flex), then redemptions/awards, then op-ups, then staff. At each stage, pax sub-ranked by status.
So yes it can get rather complicated if one wants to be totally fair about it. I think what is more important is:
1) sufficient catering loaded
2) choice allocation done discretely and out of sight