On the enthusiastic recommendation by Javier Julio, I read and just finished the book Bulletproof Web Design: Improving flexibility and protecting against worst-case scenarios with XHTML and CSS. This book is awesome and a must-read for everyone in the web development industry. It has completely changed the way I think about building web site front-ends both in pointing out my limitations as a page architect as well as in teaching me a better way of doing things.
The book is highly accessible and does a great job of walking you through the most common web design "mistakes" and how to improve them. Along every step of the way, the CSS and XHTML are fully spelled out and thorough explanations are provided as to why thing are or are not considered bulletproof. But don't think that this is just a collection of CSS hacks and tips; bulletproof web design is about changing the very way you approach web design. It's about building meaningful XHTML and planning ahead to be flexible.
One of the nice things about the book is that it devotes a whole chapter just to tables. In a time where Tables seem to the be the kryptonite of the web development community and heards of developers go around mindlessly bleating "tables are bad, no tables", it's nice to see someone who really steps up and explains that not only are tables a requirement of valid and meaningful XHTML, but that they can also be highly styled using the full array of table tags (most of which are unknown to or ignored by front end developers).
There seems to be a ton of information in this book; and, the difference between the way you do things and the way aught to do things might seem overwhelming at first. But, I have a feeling that many of these practices become second nature as you start to use them. I think the biggest obstacle of bulletproofing a web site is going to be effectively explaining the tradeoffs of flexibility and design to your client and/or designer.
Anyway, I can't say enough good things this Bulletproof Web Design. I am really excited to start applying the new principles that I have learned in this book.