Everyone's already covered the most important steps, so I'll add one that I don't see very often: Inlining above-the-fold CSS.
It's not super important because I don't think it usually has a huge impact, but it makes your initial CSS load noticeably faster.
A basic how-to: Determine which parts of your CSS affect your initial above-the-fold layout/content. Take those parts out of your CSS file (which should be concatenated and minified) and put them inline in your HTML. This should be a very small amount of CSS, otherwise the affect will be negligible. For even better performance, load the rest of your CSS asynchronously.
I don't know how widely this is used, but I first learned about it from Google PageSpeed Insights, so I assume it's at least fairly well known. I guess no one likes to talk about it. More detailed info here.
Follow-up question: Do you ever inline your CSS?