Or should we just accept it because "it's just their culture"?
No we should not accept it
What can be done I don't know other than ensure Human rights are a condition of interaction with the wider world (It should be a major condition)
You have no right pushing your own moral beliefs and laws into countries that have a different cultural and ethical code. If homosexuality is shunned upon and punished given the right judicial process in said country, you cannot interfere.
Just because we don't live in a gay hating country it doesn't mean we should ignore it. Ignorance would just lead to more hatred and a fast track to the dark ages even more for gay people.
For Islamic cultures, where lgbt people are 'abominations' I think pressure should be put on them to start treating lgbt people like human beings.
For African countries, hating lgbts is not necessarily part of the culture (in some places being lgbt is part of the culture surprisingly) it's just during colonial times the white people made homosexuality against the law in their colonies (gee thanks guys) and those laws never really changed.
Thankfully, due to massive campaigns and an increase in education homophobia is on the decline though I still think foreign governments should put pressure on African governments to change the laws.
So far I think Uganda and one other African country has decriminalised being lgbts.
we have to accept that some cultures are better than others, and reject this truly ridiculous and mindless view that "all cultures are equal". I am referring to culture, not race.
the UK, for example, through its freedom, its democracy, its science, its relative lack of religion, its gender equality, etc, makes cultures like pakistan, bangladesh, saudi arabia etc look like cultural black holes.