You'll hear wailing and gnashing of teeth on social media during New Year’s Eve celebrations tonight: People will be going out, and those in cities where Uber offers its smartphone-based car service can expect its dreaded "surge pricing" to go into effect.

When demand is high, Uber’s algorithm ratchets up fares, to a multiple of several times the base fare at the busiest times. The company says it's to get more cars on the roads for anyone willing to pay more—and argues that airlines and hotels deal with scarcity the same way—but critics accuse it of exploitation.

Now, while we're skeptical of the claim that raising prices on a luxury service is a moral travesty, it's clearly a problem in search of a solution, if only because it’s starting to give Uber a public-relations headache. Some have suggested paying all the surplus to the drivers (instead of only a percentage of it) to deflect claims the company is profiteering, while others suggest that Uber cap prices and potentially lose money on busy evenings in order to earn market share, Amazon-style. We have two alternative strategies.

1. Start an Uber futures market

Surge pricing is fairly predictable but opaque. We know it’s probably coming on big holidays and during storms, but it’s hard to predict how much these will affect supply and demand. Why not make it totally transparent by allowing riders to buy rides from Uber and its drivers in advance?

A futures market would eliminate rate shock and suspicions of manipulation by Uber itself, and give drivers a greater ability to take advantage of high prices. If you knew you were going out on a certain holiday night, you could bid for a future Uber ride—a FUber, if you will—based on a given hypothetical distance and surge factor, to guarantee yourself a spot in a car that evening. (The company might have to act as the sell-side broker, or allow drivers to select bids themselves). Gathering this price data in an open marketplace would give some sense of future prices; no more surprises. When the big night comes around, more drivers, having been alerted in advance by the rising prices of FUbers, could be on the road. That would mean lower prices for customers hailing on the spur of the moment. Unexpected surges could create a thriving secondary market for FUber brokers. And the company, instead of taking the flak for its high prices, could simply blame speculators. Think of it like a museum selling timed tickets to deal with a surge in demand at popular exhibits, but more efficient in theory and way more complicated in practice.

2. Start an Uber loyalty program

Given that Uber has already shown its affinity for airline and hotel pricing schemes, why not go the whole hog? By adding a loyalty program, like airline miles, Uber could let users accumulate credits based on distance traveled, money spent, number of trips or all three. The credits could then be cashed in for free future trips or lower surge multiples. The company could further placate loyal customers by letting the credits accumulate faster during surge pricing, just as you get more miles if you fly business class. It could delight its very best customers by always charging them a lower multiple during the surge (like an airline giving free cabin upgrades) or never charge them a multiple at all (like waiving baggage, ticket-change, and standby fees). New customers and those who rarely use the service would still be asked to pay higher fares during surge pricing, but that would just give them an incentive to become loyal repeat customers.