Es ist weniger die Frage, welche Container überflüssig sind, als welche Tags du verwendest.
- #wrapper würde lediglich für einen sticky Footer benötigt. In dem Fall müsste der Footer aber außerhalb stehen.
- Anstatt der generischen Divs würde ich semantische HTML5 Tags wie <nav>, <article>, <main>, <section>, <footer>, etc., verwenden.