Putting that another way,
If we treat the referendum as the binary question it was, then there is literally no compromise. You cannot sensibly toss a coin and call “edge!” It’s an impossible question.
If however we treat it as the complex issue it is with multiple options – as you rightly suggest – then we have to look at why people voted the way they did, we have to analyse what they thought their vote would bring. Which then raises two questions:
1) Can we leave whilst giving most remain voters what they wanted?
2) Can we remain whilst giving most leave voters what they wanted?
And given that the answer to these questions are “no” and “yes” respectively, that’s your compromise right there.