Snarl 1.0 and 1.5 used a very simplistic way of figuring out where to display notifications on screen. Basically, each notification is displayed one after the other working across the screen. This, of course, has a limitation in that notifications which disappear leave gaps which are not filled by subsequent notifications.
Snarl 1.6 uses a slightly improved methodology which looks for the next available 'gap' rather than just tacking the next notification on after the previous one.
For a future release (probably 2.0 where we introduce multiple styles) I'm thinking of a much more improved methodology which maintains a list of areas of screen space taken up by notifications - when a new notification is to be displayed, the style engine knows how much space the notification needs and where it should ideally be placed - it can then query the list looking for available space for the notification. There are some issues that still need to be worked out with this, hence why it's not scheduled for inclusion in the near future.