I'm inclined to think that bidding is inherently unfair. There's simply no way to accurately forecast the cost of a job, so it will either cost the owner more than it should or the bidder will receive less than his due. Sure, they both agreed on the price but that doesn't remove the element of unfairness.
Alternatively, the two agree that a certain hourly wage is fair. The owner is presented with all the materials bills and pays exactly that. The two can also make an arrangement for paying insurance and other incidentals. My point here is that there's a friendlier relationship in this type of contract. What do you think?