Writing better exams, even if they're more expensive to grade, and removing homework from grading as far as possible addresses this problem well wherever it's applicable. Senior-level math courses at many universities are already like this: homework is ungraded, or counts for little, and it's possible for students to "cheat" on the homework by copying another student instead of struggling through the exercises. But the students who do that don't learn much, if at all, and predictably fail the exams. Professors warn students at the beginning of the class and tell them how this will work, something like:
> You can always ask me for feedback on your homework and I will mark up every part of it, but you won't receive a grade for homework. However, if you don't do the homework and take your time with it, you will fail the class. My office hours are in the syllabus and you're strongly encouraged to use them. There will be an early exam to give you a chance to know whether you are likely to fail this class before you lose your chance to drop it.
Correctness is harder to adjudicate in some humanities disciplines but the format of these exams is actually not super different from essay tests (when a math professor grades a proof, they're inspecting specialized prose for validity, coherence, persuasion in a way that also reveals knowledge).
When you don't rely on homework for determining whether or not a student passes the class, you make cheating on the homework into the student's problem instead of the professor's or the university's. Students have the right incentives to solve problems for which they are the ones responsible, and they figure it out after one failed (or ideally, dropped) class at worst.