You can't accept the money either from an auction or a lump-sum redistribution without losing status, and a roommate relationship is one where you particularly want to maintain similar status levels. If I wanted to be a live-in servant instead of a friend, I could probably find a better deal on Craigslist without sacrificing an existing friendship.
After moving in with my new roomies (Danny and Bethany of Beeminder), I discovered they have a fair and useful way of auctioning off joint decisions. It helps you figure out how much you value certain chores or activities, and it guarantees that these decisions are worked out in a fair way. They call it "yootling", and wrote more about it here.
A quick example (Note: this only works if all participants are of the types of people who consider this sort of thing a Good Idea, and not A Grotesque Parody of Caring or whatnot):
Use Case: Who Picks up the Kids from Grandma's?
D and B are both busy working, but it's time to pick up the kids from their grandparents house. They decide to yootle for it.
B bids $100 (In a regular Normal Person exchange, this would be like saying "I'm elbows deep in code right now, and don't want to break flow. I'd really rather continue working right now, but of course I'll go if it's needed.")
D bids $15 (In a regular Normal Person exchange this would be like saying "I don't mind too much, though I do have other things to do now...")
So D "wins" the bid, and B pays him $15 to go get the kids from their grandma's.
Of course.... it would be a pain in the butt to constantly be paying each other, so instead they have a 10% chance of paying 10x the amount, and a 90% chance to pay nothing, using a random number generator.
This is made easier by the fact that we have a bot to run this, but before that they would use the high-tech solution of Holding Up Fingers.