I agree that if the non rev passenger was flying alone to let the person sit with their mate. Even a paying customer should make the same call if at all possible.
I also understand that if your assigned a seat and a paid customer who was going to missconnect shows up or in a rare instance the passenger shows up late that you must deboard if they need the seat. However if the gate agent assigns the seat to a non rev and someone is making it to the gate minutes or so before the door closes it is to the discretion of the gate agent to take the non rev off. Airline policy is that your seat can be given away if your not at the gate 30 minutes prior to doors closing or something like that.
I get it that paid customers come first. I am a paying customer. I've been an airline employee too though. So I understand what the non revers must go through.