FFS you're here too, BMWG?
Heres some tips straight from my old engineering teacher, that I converted into music writing. It's all about brainstorming, and proper ways to do it. They really do help, at least they help me. They might help you, because I thought of the same things mentioned until I took a more technical and organized look at this.
Firstly, perfectionist = bad. Like it was said, no musician is perfect. You shouldn't just keep the "good" ideas, you should keep ANY idea that you get. Literally, every single riff that comes to you out of no where in inspiration, or that you randomly sit there and suddenly figure out, put ALL of it down. Every, SINGLE freaking idea. Even the most stupid sounding ones. It also helps A LOT more to put down your ideas if its recording them, or tabbing them; In fact, this is key to the idea. Programs like Guitar Pro or Tabit are ESPECIALLY helpful in this. Make sure you record/tab any idea that you get, don't rely on your memory. I have a few hundred random riffs lying around, like a library of my mind, organized for my convenient browsing.
The reason why you should keep every single idea, is because any idea has the potential to become a great idea. Even the worst. You can tab it out one day and think it's dumb, and two months later you suddenly comprehend what you were trying to do with that riff, touch up the rhythm or fix the lead and now you have an epic riff. Also, you can combine riffs and start songs. I go through all of my riffs like a heroine addicted OCD freak, and I may come across two that work together. Voila, you just started putting together a song. Don't get me wrong, a lot of ingenuity goes into this, but it's good to be organized. Never discredit your own ideas. Not even the worst of them.
Secondly, when it comes to the actual brainstorming, another tip is to make sure you never let anything go. Including the stupid ideas. I keep my guitar at my bed if I wake up to a dream of me playing some epic song. I'll put work off for twenty minutes to quickly tab out a last minute idea. Ideas come and go, and you cannot let them escape. Get them down as fast as you can and build up your library of random ideas.
If you're trying to finish up a well rounded song and you can't come up with anything, just stop. Forget everything about music, and do something else. Work on it another day, because by forcing yourself to make inspiration that isn't coming, you're only going to force out low quality ideas. By immediately stopping, your brain will sub-consciously brainstorm different ideas. You may wake up to it, you may get it at the most inconvenient time i.e. class/work, but it will eventually come. As mentioned above, be prepared to write it down.
Thirdly if you have no inspiration, you can always try and force inspiration a little bit for a while. I'll go into my tabbing program and just punch random notes that are in somewhat of a coherent order. I may come up with something, I may realize a neat pattern subconsciously, and touch it up and come up with a new riff. A lot of my material comes from doing this surprisingly, or at least the beginning of them. After that, it all kind of flows afterwards with inspiration and random ideas on how to continue it, a long with random rays of insight to bring in new parts.
Fourthly, my keyboardist from my band does the same thing; tracks all of his ideas thoroughly, regardless whether or not they are great, or suck. I find my best arrangements, or our best arrangements to speak more precisely when we listen to eachother's work and random insight comes in and we touch up our most terrible and random riffs, into our BEST material. Seriously, inspiration is like fire, it just spreads and grows insanely out of control. The idea behind this is synergy; two working minds makes two times the best material, especially when both sides are organized.
Fifthly, and sort of in conjunction with the first tip, if you haven't already, break down ALL of your songs to their separate core riffs. I have come to find that I subconsciously look at my previous written songs as rocks that are immovable. At least, this is my problem; Others might be different. Record/tab the separate riffs from all of your songs, and keep the original separate riffs as you piece them into songs. This way, if a song sucks, its much easier to recycle the good parts back into the cycle without a mind block. This one comes from the great Alexi himself.
Sorry that it was long, and some of this is dumb common sense. I hope it helps though, along with anyone else having writing problems. :/