<p>When designing parts that should either fit with external objects or other printed parts, what measures can one take to ensure that the dimensions of the final print are accurate and fit the other object?</p>

<p>To my knowledge, you at least have two options to account for printer inaccuracy and shrinkage:</p>

<ul>
<li>Adjust the space around joints in your CAD model</li>
<li>Adjust dimensional offsets in your slicer software</li>
</ul>

<p>Are there any good workflows one can use to design and print 3D-models accurately without resorting to trial and error?</p>

I think the best way to go about this would be to calibrate your printer and slicer as best you can.  One of my pet peeves is when people upload STLs that have been adjusted to fit their printer/material.  There are many suppliers of material that vary in quality as well as many materials and different printers that the tolerances shouldn't be built into the part because in the end it usually just makes it harder for others attempting to print the model.
If you aren't sharing models then all I can say is you are still better off to calibrate your printer and tune your slicer to your material.  You'll have more luck with models from other people and have an easier time designing your own.
If you still have trouble then modifying the model is probably the last option.  I don't know of any CAD programs that can work with problems 3D printers have so experience is going to be your only help.  I know in Inventor you can go around and Thicken/Offset individual surfaces of the model to compensate or if you had a percentage for your shrinkage you could get creative with formulas in the sketches.