Bali & its old-fashioned transports
Bali is really terrible for transportation. Everything is pretty great in Bali, except transportation. Public transportation is almost non-existing & taxis often (always?) try to trick tourists.
Taxi gangs are everywhere in Bali. They even have "territories" in some areas. Which means only taxis from the "taxi gang" can pick up passengers in a given area.
Uber in Bali
If you want great prices, safety & great service, then use Uber (or another Taxi app) when in Bali.
As an example, going from Bali airport to Canggu, around 20km with Uber will cost you between 65'000 & 82'000 IDR. But you can expect to pay around 2 times more if you take "just about any other taxi".
Other taxi app
Grab (GrabTaxi) on iPhone & Android is also a taxi app worth using in Bali or anywhere else in Southeast Asia. I actually used it a couple of times & it was decent.
Go-Jeck on iPhone & Android is a different one: it is a motorcycle-taxi app! Incredibly useful if you are in a place with a lot of traffic. I have not tried it myself but several friends have & said it was great. I expect prices to be even cheaper than Uber or GrabTaxi.
What's special about Go-Jeck: you can also use it for shopping (yes, the rider will shop for you at the store you indicate) or to deliver things (from you to someone else, or vice-versa). A friend did use it to order a Nasi-Goreng across town at 2am... and it worked. Your creativity is the limit.