Edit, edit, edit!
Prior to SO, there have existed many, many Q&A sites, forums, newsgroups, etc. dedicated to answering or discussing programming problems. The one big thing SO brings to the table is the ability to take a poorly-written question or badly-formatted answer and make it better: easier to read, easier to find, easier to understand. You may not be the fastest gun in the west, but if you can scrape together a reputation score of 2K then you can edit almost every post on the site - and do so at your leisure. And even if you don't have the 2K, you can still suggest edits.
If SO hasn't become a steaming pile 5 years from now, it'll be because enough people took a little bit of their time to edit it into something better.
Now that anyone can suggest edits, editing should be the primary choice for anyone wishing to contribute in ways other than asking or answering... But here are some other suggestions:
Find existing duplicates of new questions and link to them from comments - dup-finding is a win-win situation most of the time, as the OP gets answers faster and the site gets less noise. Flag them for moderator review (use the close as duplicate option) after you've posted a link.
Review answers in your area of expertise and point out problems, or post suggestions for improvement as comments.
Flag abusive / spam posts or unhelpful comments.