When you’re liking/loving someone from afar, it’s like a fantasy. It’s like the movies. The flaws you find in them are scarce and you feel like you’re made for each other, because everything is 100% perfect. Being in a relationship with that person is like reality. Sometimes, if it’s for real, you will still love them with all of your heart. But you will fight sometimes, disagree on things, sometimes even shut each other out. Because in reality, it’s impossible to be perfect 100% of the time.
You’re not with your ex, so you’re in the fantasy stage. Yet, even in the fantasy stage, you’re yelling at each other and making each other cry. What will happen when you get to reality? I imagine it won’t go away. It will probably get worse, and you’ll probably realize you’ve made a mistake by giving away someone who doesn’t make you miserable half the time. I really think you should stay with who you’re currently with. Sometimes exes are meant to stay as exes.