Here is how Juno-2 addresses some of them. Some systems, such as Adobe's IntelliDraw and Mike Gleicher's Briar, use snap-dragging as a basis for specifying constraints. This means that the picture must be entered in such a way that all the constraints are initially enforced. In Juno-2, we allow the user to click in a rough sketch of the figure, and then to add constraints to that sketch incrementally by applying constraints to it. One approach is to annotate the picture with some visual representation of the constraints, but this solution can be visually busy and confusing.
Most drawings are underconstrained.
This gives the user control over solutions to underconstrained systems. It is easy to specify consistent but redundant constraints. Unfortunately, ordinary numerical methods do not handle such constraint systems very reliably. It would be nice to be able to detect the redundancies, but that would require building a theorem prover into the solver. Instead, we use a heuristic to detect and ignore the redundancies.