I use tables but not for layout. The layout is controlled by CSS. In the case of the calendar, in particular, I think we still need to use tables (since that's how the information is structured, in a tabular way) but the layout (all the fonts, colors, positioning etc) is controlled from the CSS.
My naming convention is quite lax at the moment, I have one main div called calendartable and then a class called calendar that is applied to each td. I use another class calendarheader for the caption of the table containing the calendar. For the day view rows I have dayvieweven and dayviewodd just to continue with the current code.
I just started working on this because that's something I have been wanting to do for a long time ... I want to make it easier to change the layout of the widgets and stuff 😊.