Again, great conceptual workflow. The main issue you're going to run into is that the functionality you want pretty much requires floats and positioning. You could use display:inline-block instead of floats, but that leaves a small gap that must then be accounted for in your CSS and causes layout issues as a result.
No-one disables CSS, so solving layout using markup (instead of just making sure it is semantic) is contrary to the intended roles of HTML and CSS.
Perhaps your workflow needs to be slightly modified to read like this:
1. Write clean, semantic markup.
2. Solve any positioning, design or layout problems using CSS.
3. Solve any remaining issues using JavaScript.
Just my two cents!