Too many synonyms. How do I know which words are too formal/informal?
Use lexical occurence to choose the most frequent variants. 

Use disyllabic variants if possible. That will make it more clear to most listeners.

Then there are verbs and verbs. 感觉 is a verb, but 感觉到 is a resultative verb, conveying the result of the action of feeling something. It is the same difference as in 看 and 看到, it adds some complexity.

Furthermore, words are not always synonyms, even if they share meaning. 感觉 foremost means to feel, whereas 觉得 mainly means to think (as in I think, not as in thinking hard). Think and feel are blurred in meaning, both in English and Chinese.

抵抗 means resist, and so does 抵制, but the latter mainly means boycott. 抗拒 means resist, but in the sense of defiance. 抵抗 is more of a struggle against oppression. 反抗 has a revolutionary flavor to it, and means to oppose or revolt, and therefore also resist.

反抗 has 31.5 occurences per million characters of text, 抵制 10, 抵抗 3.3, 反抗 30.4.

Listening a lot will make you pick up the right words in the right context.