I started reading stormlight first, and then switched over to Mistborn before I started Oathbringer. My original thought was that Odium would be balanced by some other god or force, but been there, done that.
I think the solution to defeating Odium lies in the chapter where he (Rayse) and Dalinar were setting the terms for the contest in RoW. In that chapter, two things were mentioned that stuck out to me.
1. Odium pitched the idea that if he lost the contest, he would retreat to Braize and not contact or influence anyone, although this wasn't part of the terms they agreed to.
2. If Odium breaks his word, doesn't fulfill his end of the deal, he is under Dalinar's power.
If you combine those, then in theory, it becomes possible for Dalinar to order Odium to go to Braize, and never communicate or influence anyone ever again, trapping the shard of hatred permanently. And the way I see that happening is if they manage to A. win the contest and B. prevent Odium from being able to give Dalinar what he promised. So if they could recover Alethkar (or even better Herdaz, since Odium called it insignificant) Odium couldn't return them, thereby breaking his word, putting himself under Daliar's power.
The only problem I see with this, is that Odium (Taravangian) might construe this idea as being in bad faith of the deal between him and Dalinar. So maybe it needs to be some neutral party to get in Odium's way.