Try Uber, if you haven't.
Booking through their app is breezy, you can see your cab on your map as it arrives (no surprises or delays), you know the photo and number of your driver (safe!), you get printed bills mailed to you along with the route of the journey you took (can't be cheated into a longer route), and all billing is directly on your card (no hassles of change and cash!). Cabs are clean, and if you are lucky, you might even get a BMW coming to pick you up.
What's very interesting is their model. You will never see Uber branded cars - they never own any, they only work with vendors and partners who provide the cars under their "technology platform".
The only disadvantage to their model - you cannot be assured you will get your cab to drop you to the airport for that early morning flight. What if all the Ubers are busy?