The following is my take on what makes a successful NSF proposal. Or rather, a list of things all successful proposals seem to have, and a list of things that killed proposals. I've sat on numerous NSF panels, and for the last couple of panels I've been trying to "step outside" the process and see what made reviewers rank proposals highly, and what irritated them and resulted in lower scores.
Obviously, if you don't have a good research idea, you are very unlikely to get funded. However, having a good idea is not a guarantee of funding - you have to sell that idea, and your ability to do it, to the reviewers. Unfortunately, you can't just put up a sign that says "Will do Good Research for funding". So. Assuming that you have a good idea, this document is designed to help you put it on paper in a form that will minimize the chance of it getting rejected for some of the more easily avoidable reasons.
Writing grants is frustrating. There are a lot of good ideas that don't get funded. I'd say, that of the grants I've read, a good 1/2 of them should have been funded, when only 1/8 or 1/10 were actually funded (take it up with the Senate Appropriations Committee). What ended up separating the top 10% from the top 30% was the clarity and completeness of the proposal more than the research ideas themselves.
Be critical of your ideas, and only write up ideas you're passionate about. It takes a lot of time and effort to write up a good proposal; don't waste your time (and the reviewer's time) with a sloppy, thrown together proposal just because it might get funded.
If you have any suggestions of your own, please feel free to email me and I'll add them to the list!
Best of luck, and happy proposal writing,