Trotz Büchern und Online-Tutorials lernt man das nicht so ohne weiteres von heute auf morgen. Das braucht wie alles Zeit und damit kommt auch die zunehmende Erfahrung.
Ich denke, das geht jedem so und wer seine ersten Seiten mit seinen heutigen vergleicht wird feststellen, dass sich mit Zunahme der Kenntnisse auch der Code verbessert und somit auch reduziert.
Eine generelle Empfehlung gibt es daher nicht. Deshalb: Durchhalten, üben und immer wieder optimieren.
Dennoch vielleicht einige Tipps:
Achte darauf, dass du so wenig wie möglich Divs verwendest. Oft gibt es dazu geeignetere Elemente.
Für einen Header kannst du anstelle eines Divs das Element h1 verwenden.
Für eine Navi brauchst du keinen <div id="menu">, sondern es reicht ein <ul id="menu">
Werde dir über das breite Angebot der HTML-Elemente bewusst und setze sie zielgerecht ein.
Um den Überblick zu behalten, wo welches Element geschlossen wird kannst du am schließenden Tag einen Kommentar anbringen, z.B.
Code:
</div><!--Ende #content-->
Die CSS-Angaben findest du leichter, wenn du sie alphabetisch anordnest oder zumindest in der Reihenfolge des Seitenaufbaus. Auch hier kannst du mit Kommentaren arbeiten.
http://www.ohne-css.gehts-gar.net/0013.php
Beschränke dich am Anfang auf ein einfaches Layout, einspaltig mit Kopf und Fußbereich.
Dann steigere dich langsam zzu zwei- und dreispaltigen Layouts, lerne die Wirkungsweise von float und margin.
Dann gibt es natürlich noch sehr viele Tricks, Browsermarotten und vieles andere mehr. Das kommt dann immer auf den konkreten Fall drauf an und dazu gibt es dann auch Foren, die helfen.
Eine der wichtigsten Zutaten ist wohl diese.