It is all about fear. The reason you are good at talking to your friends or colleagues is because you feel very comfortable around them, however talking to a stranger you have no idea on what they are going to say back to you... because you have no idea who they are or what their general views are. You also feel confident when on a job because you have the confidence in what you are doing and that in itself is a talking point.
I personally have no problem talking to strangers, and I wouldn't suggest any specific opening line to start with apart from literally the first thing that pops into your head, trust your wisdom and your own instincts. Put your fears aside and you will have no problem. The advice I can give you is that you need to have confidence within yourself for these kinds of issues, and that is definately something you can work on, as long as you are aware of it and have the drive to do it, you will find a way of doing it.
As you said in your post, if someone talks to you first, you have no problem talking to them... because you feel happy that someone is showing an interest in you, so if you approach someone and start talking to them, they will feel happy that you have shown an interest. It works both ways. Now, this is needless to say that EVERYONE you speak to will feel happy, because some people will interpret it differently, but they KEY is to know that it is only these people's negative interpretations and it is not your actual mannerisms that have inflicted this.
I hope that this has helped you, please feel free to ask any questions on what I have said if you don't quite understand.
www.forevergrowing.myflpbiz.com www.synergybusinessdevelopment.com
If you are interested in a unique business opportunity to generate a passive income stream and would like more information, please do not hesitate to e-mail me. Also any discussions about anything else are welcomed, I am always looking to network with people.