It’s pretty simple. If they can’t just walk away and choose not to talk to you, don’t shoot your shot.
If they are going through security to get on a scheduled flight, and you are security, do not shoot your shot.
If you are their boss, in your office, do not shoot your shot.
If you are purchasing something from them, do not shoot your shot.
If you are at a bar, and you are polite, shoot your shot. And accept a no graciously.
If you are at a park, and you are both walking your dogs, try to start up a conversation (not shoot your shot). And accept a no graciously.
If you are the President of the United States, and you have a 19-year-old intern in your office, DO NOT shoot your shot.
Seems pretty simple to me. I’m a man in my 40s, have started plenty of conversations with women (and men) in public, and have never had any negative experiences from it (other than coming across some VERY strange people). Weird.
There is a huge difference between “you’re pretty and that’s the only thing I know about you, want to go on a date?” And “Hey, we share a few similar interests and you are pleasant to talk to, and attractive, would you like to go on a date?”
You should have a baseline beyond simply looking at them. A date is where you get to know them beyond that baseline. If it’s a stranger, it isn’t unreasonable to say you should have at least a few minutes of conversation before asking them out.