<p>I would really like to be able to print moving parts that fit well enough to move without excessive friction, but also aren't excessively loose.  Using an Ultimaker 2, what should be my expectations be, and how would I go about produce well fitting parts?</p>

<p>Using a tool like Openscad to generate parametric parts is really useful because it facilitates the creation of geometrically precise parts such as cogs and drive shafts, which also have precise dimensions.  The problem arises when the parts are printed and joined together.  </p>

<p>I recently printed some cogs that were supposed to be able to rotate freely around a shaft, which was also printed.  I made the shaft about 0.1 mm smaller than the center hole of the cog expecting it to be able to rotate freely, however I found that I had to bore out the center hole slightly and sand down the shaft.  I then found that the boring was imprecise and the center of rotation was off center.  </p>

I think that you've got the right idea in concept, but benchmarking is typically the best way to prove this out.
You should get in the habit of designing with assembly in mind.
This means:
Hole sizes should be larger than intended and/or shafts should be smaller than intended
Scaling does not always solve the issue! Avoid relying on scale tools as it can result in reducing/enlarging features you did not intend to scale
My own experience has shown that a
clearance
of about
0.005" to 0.010"
(~125μm to ~250μm)
should be enough. However it may be different for your situation with a different printer, filament, climate, etc.
Also consider material shrinkage from the printing process!