CSS tables are, as far as I know, the only reliable method for creating two columns that take up 100% of the available space, one fixed width and the other fluid width.
I use them sometimes. There's nothing semantically wrong with them---not sure why people don't get that. For more traditional grid-based layouts (all fixed or all fluid) I like to use floats still. Sometimes I use inline-blocks if I can get rid of the whitespace without much trouble...it all depends on the task at hand.
Floats are great once you learn how they work and how to clear them properly.
Here's one of my favorite CSS Tricks articles: http://css-tricks.com/dont-overthink-it-grids/
It explains how to make a simple, flexible, and reliable grid-based layout (i.e. pretty much any layout) using floats and border-box sizing. This and CSS tables are gonna be the two best ways to do it until we can start using flexbox.