isn't that only an issue if the counterparty to each bet is the sportsbook? why can't a sportsbook operate like an exchange, with a bid/ask orderbook and take a % off each trade?
Historically that was leaving money on the table though as squares outnumber sharps.
It can and some do. But it's nearly impossible to do combined bets (multiples, accumulator etc) in an exchange, and they are very popular. Also as already mentioned it's leaving money on the table.
Beforehand: I don't do sports betting. So I don't know much about the sports betting culture.
But why doesn't the bookmaker simply let anybody "pre-buy" bets (just like you do a bidding on an eBay auction). You will get your bet "approved" as soon as it becomes matched (or at least "near-matched") by the bookmaker. If it cannot be matched, you, of course, get your money/betting token back (just like you don't have to pay anything on an eBay auction if you become outbid).
Perhaps it might even be interesting to offer "flexibility in the ratios" for the bettor, i.e. if you are willing to only get 1.5 times your stake (instead of 2 times), you get "more in front of the queue for finding a match" (because this is better for the bookmaker).