The book of Numbers says Balaam practiced divination and was certainly a wicked man, worshiping idols. How could a holy God talk through him and even made him bless Israel when Balak wanted them cursed? Doesn’t God detest things like sorcery, divination and witchcraft?
God certainly hates witchcraft, divination and idolatry. However, I think you should be fair to Balaam. Although he was a very questionable character who helped to seduce Israel into immorality, as far as I know, he never was involved in sorcery, divination, witchcraft or even in idolatry. He was a prophet of Jehovah, although a seriously flawed one. If we apply the Golden rule, we should not accuse people of things that we are not sure they did and as far as I know, despite his flaws, Balaam did not do the things you accuse him of.
Nevertheless, he was a problematic person. Like Peter says in 2 Pet 2:15 he loved the wages of wickedness. He was guilty of selling out Israel for money, which does not put him into the list of biblical heroes. Although he may not have been guilty of divination or sorcery, he was a man of questionable character. Why, then, did God use Balaam? I think that, although the specific charges you raise are false, the general question remains, which is why would God use Balaam, a man who was in some ways the enemy of Israel, as a prophet?
My response is that God’s ways are not our ways and the reasons for what we does are not necessarily something we can know. We need to remember that all of his prophets were sinful. David committed adultery. Moses lost his temper. Abraham lied. Solomon married pagan wives. The only choice God has for his prophets is sinful people. Balaam, like David, was a sinful man. Why God chose Balaam we cannot know for sure. Despite deep flaws, David was a man of God. I am thankful that God gives grace and that he works through sinful people. I assume that Balaam had positive traits as well. Perhaps he started out very well, but fell later, as did Solomon. What we can say in his favor is that, despite his sins and character flaws, when God spoke through him, he communicated the oracles with great boldness. He risked his life to declare news to Balak that he definitely did not want to hear. Despite his flaws, Balaam was a fearless spokesman for God. I am not going to attempt to defend his blatantly sinful behavior, but I also will not be the first to throw a stone (John 8:1f) either. I cannot explain exactly why God chose Balaam, but I believe that God is wise, and I trust his wisdom.