I think the key to a good cab experience in this city is reserving one in advance.
I made a reservation online for my airport run the next day and got a call (that I happened to miss) about 2.5 hours after I hit submit. I called back and confirmed my cab for the next morning. They explained that they would call 30 minutes before the scheduled pick up time and if I missed the call, they would not dispatch the cab. They also saw that I was going to the airport with 3 people so they asked if we would need a bigger car which I accepted.
They called 30 minutes before pick up and then called about 7 minutes before pick up time to say they were outside. Our driver loaded our luggage for us and unloaded it when we got to the airport. They had a Verifone MX870 machine attached to the seat to pay by credit card which then had the option to add a tip by percentage to make it easy to figure out. My only complaint was the fee to pay by credit. But overall a good experience!