So my relationship theory (for compatibility) is to keep the first and second letters the same, and switch the last two. For example, ISFJ should be good with ISTP... and INTP with INFJ etc etc.
Rationale: I think introverts match better with introverts, and extroverts match better with extroverts. I think people prefer someone with the same kind of energy as them. Personally speaking, as an introvert - I don't think I could be with someone who was very chatty and social, it would drain me. I like having someone who understands my need for personal space/time, and who has the same needs. It works. I also notice (in my social circles), that extroverts tend to gravitate and seem to enjoy being around other extroverts, and introverts with introverts...so I really don't buy the theory that extroverts and introverts need each other, to balance each other out. I see more potential for relationship conflict with an I/E match over the long term, than otherwise.
I think the second letter should be the same for reasons of having the same way of looking at the world, and communicating about it. So sensors will be more compatible with sensors, and intuitives with intuitives.
I think the last two letters can be different, because they can provide opportunities for balance in a relationship. So Feelers with Thinkers etc. Thinkers can balance out a Feeler's emotionality etc, and Feelers bring emotional balance to a Thinker's world. Judgers and Perceivers can also balance out each other - with Judgers bringing structure to a Perceiver's life and Perceivers helping Judgers to lighten up and be more spontaneous (stereotypically speaking).
So following the theory, the matches would look like this:
ISFJ - ISTP
ISFP - ISTJ
ESTP - ESFJ
Happy for any thoughts/feedback. Do you have any experience with these matches, and what was it like?