Its always good to generalize your style rules, or in other words, being less specific and simplifying your stylesheets. The basic idea is to write rules for the whole site not specific to a page or element. In theory this is nice, although most of us end up writing rules for specific elements. Working on an existing site you usually have to add a very specific rules to the stylesheet so that nothing else is messed up. That makes for long messy stylesheets.
If it's a new site the simplified build process usually goes something like:
1. visual design
2. build template
3. add content
There's probably lots of overlap, you may style the whole way through. The overall concept is to get the markup and content in place before you style.
I'm suggesting reordering those steps like:
1. visual design
3. build template
4. add content
The important thing to note is that you style, as much as possible, before building the template and adding content. You already know how the site is going to look, thanks to the design. Looking at images of the design, you should be able to visualize the basic structure, columns, header and the elements that will be containing content, paragraphs, lists etc.
Be as general or generic as you can so that you target all similar elements. Style elements as though they are going to be the same on all pages. If there are elements with similar styles, that can't be cleanly targeted in all instances, or you can't visualize from the design all instances, use classes.
This isn't going to wipe out the problem of coming back later and adding specific rules for new content. Hopefully it may limit the instances and provide you with smaller, cleaner stylesheets and markup.