I'm sorry this happened to you and when I was younger I had a similar experience. But I got older and I finally got upset with myself enough that I promised not to let anyone intimidate me again by God and that's what I've done. You reach a limit and hopefully this is yours. Saying No loudly and meaning it takes practice I'll grant you that. But there's an entire class of people who can smell vulnerability and lack of self confidence and they'll eat you alive if you don't stand up for yourself. Next time (if there is one) just turn around, walk away, get in your car and leave. If someone lays a hand on you call 911. If you feel threatened, call 911 while looking at them and say loudly, I'm being threatened by a homeless person at......