Hallo Mathias!
ich habe eigentlich nie große Probleme mit Collapsing Margins, sondern mit sich addierenden Margins.
OK, aber das ist ja nur dann ein "Problem", wenn man generell Collapsing Margins verwendet. ;-)
Solange Margins collapsen, ist alles in Ordnung, solange man konsistente Abstände und wiederkehrende Strukturen hat.
Generell lege ich Regeln fest wie: Alle Low-Level- und High-Level-Komponenten haben vertikale Margins, am besten nur margin-bottom.
Das führt dann aber zu doppelten Margins, wenn Floats und andere Block Formatting Contexts das Zusammenfallen von Margins verhindern.
Collapsing Margins sind ja einer der "Automatismen" in CSS.
Sicherlich einerseits ganz praktisch, solange sie da greifen, wo man sie als Autor auch gebrauchen kann/ haben will.
Aber "der Preis, den man dafür bezahlt" hast du ja in deinem Beispiel u.a. auch schon aufgezeigt.
Außerdem macht es das ganze Gebilde einer Website auch ziemlich "fragil" im Bezug auf Änderungen/ Anpassungen, wenn man bspw. etwas hinzufügt/ ändert, was dann bspw. das Collapsing verhindert.
Das ist nicht robust und skalierbar, weil ich tief in die Komponenten hineingehen muss bzw. wilde Kombinationen und Reihenfolgen annehmen muss. Auf einer wirklichen Seite gibt es dutzende mögliche Komponenten dieser Art und viele Arten, wie deren Inhalt aufgebaut sein kann.
Das ist eben einer der Gründe, warum ich mir die Frage stelle, ob es nicht "besser" ist, generell auf Collapsing Margins zu verzichten (sie also grundsätzlich zu unterbinden/ verhindern)?
Das hätte imho den Vorteil, dass man keine "unliebsamen Überraschungen" erlebt.
Der Nachteil ist u.a., dass man einen (geringfügig?) höheren Aufwand betreiben muss.
Passend zum Thema:
http://css-tricks.com/spacing-the-bottom-of-modules/
Gruß Gunther