John's mother forbade me to come to
John his funeral.
This is a great example of why languages that differentiate gender make things easier on us. Unless a sentence is very confusing, I wouldn't use the person's name twice within it. I'm not sure if it is grammatically correct to write it like that though.
In the second example, John is not the subject, John's mother is. If you did not talk about John in a sentence before that, I would repeat his name, because then the pronoun doesn't have a subject to relate to. If you don't want to repeat the name, you can be a little more creative.
My best friend died, and I couldn't do anything about it. Could John's mother have been right? Could I have been the one responsible for his death?
Here, we can use his which clearly refers to my best friend thanks to the gender association, and we didn't have to repeat John. We assume that the reader will understand that the best friend and John are the same person. However, if we were talking about Jane instead of John, it could become confusing.
My best friend died, and I couldn't do anything about it. Could Jane's mother have been right? Could I have been the one responsible for her death?
In this case, it's less obvious that her refers to the best friend and not Jane's mother. It's even harder to figure out because I used my best friend, which doesn't tell us whether the person who died is a boy or a girl. People might have to read the sentence twice to make sure they understood it right. In that case, I would probably rewrite the two sentences like this:
My best friend died, and I couldn't do anything about it. Could her mother have been right? Could I have been the one responsible for Jane's death?
It tells us that the best friend is a girl before giving the name Jane, which makes it clear that Jane is the dead friend.
If you were looking for a general rule, I'd say:
- Never repeat someone's name in the same sentence twice. Either rephrase it or use another noun group to refer to the same person.
- Never use him/her pronouns that don't relate to the subject of a previous sentence.
- Prefer wording that makes the pronoun relation obvious and use genders to your advantage.
PS: And that is why I hate when people say languages are sexist. Grammatical gender is useful, it isn't there to put people in boxes.