The best approach to complex dynamics is to use text instead. Use Staff Italic or (even better) set up a User Font for dynamics. Restrict yourself to using Center at next Note/Bar for all dynamcs. By padding the text with spaces you can horizontally position these to the nearest few pixels or so. To get vertical alignment across several staves, make sure you hang the text on notes at the same vertical position. This will sometimes require putting invisible notes/rests in a part.
For hairpins, I put an invisible rinforzando (Right at next Note/Bar) on the preceeding Bar. Moving it vertically, moves the hairpin. Something like this:
!NoteWorthyComposerClip(2.0,Single)
|Chord|Dur:4th,Dotted|Pos:-3,0
|Rest|Dur:8th
|DynamicVariance|Style:Rinforzando|Pos:-9|Justify:Right|Placement:AtNextNote|Visibility:Never
|Bar
|Chord|Dur:4th|Pos:-5,-3|Opts:Crescendo
|Chord|Dur:8th,Dotted|Pos:-3,0|Opts:Stem=Up,Crescendo,Beam=First
|Chord|Dur:16th|Pos:0,3|Opts:Stem=Up,Crescendo,Beam=End
|Bar
|Text|Text:"mf "|Font:StaffItalic|Pos:-9|Justify:Center|Placement:AtNextNote
|Chord|Dur:4th|Pos:0,3
|Chord|Dur:8th,Dotted|Pos:0,2|Opts:Stem=Up,Beam=First
|Chord|Dur:16th|Pos:-3,1|Opts:Stem=Up,Beam=End
!NoteWorthyComposerClip-End
To get hairpins to begin and end in the same vertical position will sometimes require adding notes to some parts.