When I attempt to write songs, I tend to think of the audience I'm writing for. In my mind; if I can't connect with someone or make someone feel SOMETHING than most of what I'm doing is for naught.
That said, have you ever talked to your friends about an album and everyone has a different opinion about which songs SUCK and which songs are GREAT? And none of the songs people like seem to match up? For example, your friend Joe thinks "Transplant for a Care Bear" is the worst song Uneasy Truce has ever written, while Matt thinks it's the pinnacle of songwriting achievement. Likewise, Mary thinks "Banana-Flavored Placebo" is fantastic and Jane thinks it's crap on a shingle.
What does this tell us? Well, other than the fact that Uneasy Truce has some pretty f-ed up song titles, it tells us that different things resonate with different people. (All together now, "Thank you Captain Obvious!") However, I can guarantee that a song has a lot less chance of resonating with ANYONE if it doesn't resonate with the WRITER first.
In other words, while it's fine to consider the audience you're writing for, never let this eclipse the most important audience - YOU! Trying to successfully anticipate what will connect with all the people all of the time is a losing game - even for the experts! However, if you really believe in a song's quality, then there's a much better chance it'll connect with someone out there. And you'll feel a whole lot better being rejected for a song you're proud of than one you only wrote to please someone else.
So, when you're writing, it's okay to imagine the audience you're writing for. Just make sure you've got a seat in the front row.