You can't really do it perfectly unless a single site handles all the booking, otherwise you have race conditions, and obviously there's no incentive for airlines, hotels, etc. to give up booking to a third party since they can upsell you on insurance, upgrades, etc.
No, they aren't giving up booking. They are extending booking to a third party. To solve the problem with race conditions (You book the last seat on the airline, I book the last hotel room, and neither one of us can finish the transaction) you have to centralize all the booking in one party, which no one will do because they want to be able to upsell you at checkout.