About generating coordinates for structures with salts/counter ions; I
think that this capability should definitely be in the SDG - perhaps
in a subclass for now, but generally it should 'just do it'. The
reasoning being that ions are closely (conceptually) tied to the other
molecule. If you are laying out molecule sets, then the ion should not
be separated from its - er, what is the term? - 'parent'.
However, when it comes to placement, it would be nice to put the
charged parts of the pair together, but not always possible. I can
imagine situations where a parent has multiple charged groups - such
as multiple carboxylates - and the ion can only be placed next to one
or the other. Also, polydentate chelators may well have a fully 3D
structure; a pair of EDTAs around a single metal ion may not project
onto a planar diagram very well.
In general, chemical diagrams are a mixture of symbology and geometric
model - the bond lengths and angles are not accurate, but they roughly
represent the three dimensional geometry. The placement of the
counter-ion might not bear any relation to the actual chemical
situation, and automated placement may well give the wrong idea if it
is too smart.