Ah, see, now this I strongly disagree with. Using classes that describe presentation vs. classes that describe the content. Yes, you COULD do this, but it means that changes to your presentation might require to you to modify both your CSS AND your HTML, which defeats some of the advantages of CSS. I avoid classes like "pad", "red", "left", etc., as those are definitely NOT good practices. I think that's slightly off topic, though.
Yes, I agree with you, that using semantic elements as in your example demonstrate better design, despite any warnings you might get from the Google tool.