actually the system in Taiwan that rvxing wrote above is quite good. the millions of dollars they've invested in the technology is what the taxi companies aim to recover, through the booking fee. however, that's what is contributing to the greed of the taxi driver.
there are a couple of solutions that i can think of :
1. Raise the taxi fares (if the operating costs for the drivers is considered high). Get rid of all the surcharges. Give a discount for booking a cab (after all it guarantees income for the cabbie, instead of having to wait for a passenger)
2. Publish the photos of the errant cabbies in the national newspapers and show them on TV. Singapore is a small world after all. All the neighbours of the errant cabbies would know of it. There is no better deterrent than shame. (Hanging them by their thumb and flogging them in public is a bit too extreme lah )
3. Run all the buses until say 2-3 AM (with reduced frequency and double the fares after 11 PM) to solve the problem of customers not getting cabs.
That's my 2c worth...