Last night a lot of people in New York were upset that Uber was charging as much as eight times the normal rate for service. It's hard to feel too much sympathy for the complainers. If you're a regular Uber customer, you're already a member of the nation's economic elite — all the more so if you're the sort of person who can afford to pay eight times the normal rate for a ride home.

Still, Uber's dynamic pricing system could be better designed. The concept of charging extra during periods of high demand is a good one, since it attracts more drivers and ensures that customers who really need a car can get one. But it also has a tendency to anger customers, who feel they are being "gouged." With a few tweaks, Uber can get all the benefits of variable pricing without the PR headaches that have come with it. Here are three suggestions:

Double prices, but offer a standard 50 percent discount. This is the strategy employed by many traditional businesses that want to charge different prices at different times. Clothing stores set their prices high and then offer deep discounts during sale periods. Restaurants charge high prices on the weekends, but offer lunch and happy-hour specials to help fill the seats during low-demand weekdays. These schemes are mathematically equivalent to charging "surge pricing" on weekends, but they don't generate the same kind of customer anger.

The same strategy should work for Uber. After doubling the standard price, a 1.5x weekend "surge pricing" rate would become a "25 percent off" weekend rate. The 2x weekend rate becomes merely a "full-price" weekend. The actual amount of money changing hands would be identical, but customers would be less likely to be irritated.

Give the extra cash to the driver. Sometimes Uber will have to charge more than the new higher "full price" to handle high-demand periods. When that happens, the next step is to give 100 percent of the extra cash to the driver, not Uber. And to make sure customers know that that Uber isn't taking one penny of it.

Customers hate the idea of Uber, a wealthy technology company, taking advantage of them. But it's harder for a customer to get upset about paying a bonus to a driver who probably makes half the customer's salary and is working while the customer is out partying.

When demand gets really high, give the extra cash to charity. Giving the driver 1.5 or even two times the standard rate (which, after price doubling would be three or four times the "old" standard rate) probably won't upset customers, but if prices get high enough customers will get angry even if they know the driver is getting the extra dough. And beyond a certain point, paying drivers more isn't going to get any more of them on the road. If a driver isn't willing to work for four times the old off-peak rate, he probably won't work for six or eight times that rate either.

So for periods of very high demand, Uber should frame the high prices as charity fundraisers. For each weekend when high demand is expected, Uber could name a seasonally appropriate charity — Toys for Tots on December weekends, the United Negro College Fund during Black History Month, a veteran's group for Memorial Day weekend — and present surge pricing above the standard rate and driver bonus as a donation to that weekend's charity. Or Uber could curry favor with its drivers by letting each driver pick the charity to receive his customers' donations.

Customers who might think twice about whining about paying a bonus to their driver are going to be really reluctant to complain about Uber forcing them to donate $50 to Toys for Tots in order to get a limousine ride home. And the donations would turn what has become a perennial PR problem into a PR boon for the company.