Is the following way to say “to give up one thing in order to get another thing” correct and idiomatic?
We should not compromise the existing differences for a unique theory.
Is the above use of compromise and for correct? If not, how else to say what I want to say?
Yes, it’s fine.
Your usage of compromise corresponds to definition 2 in the Oxford Learner’s Dictionary:
[transitive, intransitive] to do something that is against your principles or does not reach standards that you have set
compromise something | I refuse to compromise my principles.
You can add a prepositional phrase headed by for to specify that you compromise one thing for another thing. For does a lot, as the Merriam Learner’s Dictionary illustrates; two definitions that fits your use is:
3b : used to indicate why something is done
5a : in order to help or cause (something)
The understanding of exchange comes from the interaction between verb phrase and prepositional phrase. You could compromise something (meaning you lose it), and you could compromise for something (meaning you gain, help, or cause it); compromising something for something defines both what is being compromised and what is gained/helped/caused. So my understanding would be that you don’t want your group to go against existing differences in order to help advance a unique theory.
In case that isn’t enough, in a Corpus of Contemporary American English search I found several examples of your usage:
Well, she’s doing it for the dollar. And when you compromise your values for money, you know who you are. (ABC’s The View, January 21st, 2016)
We need to not compromise quality simply for the sake of structure. (Karen DeYoung, "How the White House Runs Foreign Policy." Washington Post, August 5th, 2015.)
Here, we remain vigilant about fraud and privacy, and rightly harangue Facebook when its wizards compromise our secrecy for commercial ends. (Julia Baird, "The Front Line is Online: Freedom Should Trump Privacy." Newsweek, June 14th, 2010.)