I wrote a blog post you might find interesting that talks specifically about quoting web design projects: http://devgrow.com/how-to-properly-quote-a-client/
That's how I go about it and have found it to be the best/only way to ensure I don't overwork myself.