I have an inexpensive caliper and my scale supposedly measures body fat as well. I don't really trust the scale, and am not sure I'm using the caliper right.
I have read things from folks who use one regularly though, so I think it works if done right.
I think the best way is immersion in water? That has to be done at a special facility.