It strongly depends on what you want to offend, where the person is from and the gender. Spanish is spoken in many places, and so has many, many variants. For example calling a gay porteño “puto” is just another Tuesday for him, telling it to a very homosexual Spaniard might be the worst insult ever, telling it to a Mexican he might be lost waiting for the actual curse since they use puto as an emphasis, e.g. “puto chingón”.
Also Spanish is a gendered language, I can’t even think of a curse that doesn’t rely on knowing the receiving end gender, since all have masculine and feminine form. With all of that being said, I think the safest bet would be “Hijo/a de puta”, every place I know of uses this curse, and even if one doesn’t it’s very self understanding (unlike chingón, boludo, or gilipollas which are mainly use in their own countries and people from others might not even be fully aware of them)


Not really, especially if you’re a foreigner it sounds more like you’re mixing your genders than doing it on purpose.
There are better ways to insult masculinity/femininity that clearly state your purpose.