I think there needs to be a campaign to encourage first language speakers to use their Welsh with strangers until they find out for sure that the person doesn't speak Welsh. I suspect (from living in Ceredigion amongst Welsh speakers) that a lot of first language speakers use Welsh all the time with friends and people that they know to be other Welsh speakers, but they default to using English with strangers. I've been in situations where I have known that someone speaks Welsh and I've used only Welsh with them, but they've spoken only English to me. It's very frustrating.
On one occasion a third person there even spoke up and said to the other person in Welsh - She can speak Welsh you know - and the first person looked at me in total surprise. It seemed that because I was not a person known to him he didn't even register that I was speaking Welsh, but assumed that I was speaking English.
I think encouraging this initial use of Welsh as the default language is really important, especially in areas that traditionally have high numbers of Welsh speakers but now have an influx of English speakers moving in. If they are always addressed in English there is not a lot of incentive for them to actually learn Welsh. If they realise that every conversation is going to start under the assumption that they speak Welsh, and then the conversation has to turn to English to accommodate them, perhaps they would feel more of an interest in learning and becoming truly part of their new community.