Nothing except politely asking them to stop. Do not try and handle the problem yourself. Tell someone about it. Document what they say. The time, date, and location. If they persist, go to the police and show them your logs, and try to get a restraining order or court order of some kind, harassment is illegal and they can get in a lot of trouble for this, even if it doesn't seem like a big deal. This may seem a bit extreme, and you may not want to hurt them, but it may be necessary depending on the degree of harassment.
Being gay is not an insult. If someone calls you gay, you can either say thank you, or "at least I'm not a homophobe" (someone who hates or fears gay people).
Talk to someone and tell them that they are ugly. If it is a girl say you are lesbian and if a boy say you are gay.
If they say they are not gay that is it. They are not gay.
The definition of the word pester means to bother someone with small annoyances. You can also say that pestering someone can also be called harassing someone.
being gay is ok
You would only be accused of being gay if you had a unconfident tone as you said it. If you were confident in your sexual orientation and what you are saying is not gay, then rest assure, if someone tried to criticize they would sound stupid.
"Your mama is so gay", sounds like a "Your mama is so dumb" joke, a possible response might be": "Well your mama's so stupid, you believe being gay means your dumb!"
Anata douseiai but be careful who you say it to
Yes.
You mean a homeless person? Why on earth do you want to make a person say that? How would you feel if someone forced you to say "I'm gay". and the correct term is homosexual. Gay also means happy.
In todays world, this is a poor attempt at insulting someone. Technically, "gay" is a synonym of Happy.
You can ask why they think that, it is a start.