In addition to Han-Wen's answer, some of the problems
you mention are configurable.
There's a number of properties that control the beam layout:
beamSlopeDamping, autoKneeGap, autoInterstaffKneeGap,
beamDirAlgorithm, beamHeight, beamVerticalPosition.
Don't ask me what they do or if they work, there seems
to be problems with some properties.
The spacing between the dynamics and the staff can be
controlled with the property Voice.dynamicPadding
(didn't work in 1.3.75 but does work in 1.3.78).
Finally, you have some control over the slur placement,
see input/test/slur-attachment.ly
If you come up with some property values that you think
gives a better layout in general, don't forget to
inform us on the list.
/Mats