The unbreakable rule here is that there must be an assessment for each homework assignment. In-class quizzes have recently worked the best for me, but homework assignments can also be functional.
You can think about it either way, but there MUST be either a carrot for completing the assignment or a stick for failure to complete the assignment. This is THE secret to getting most of the students to complete most of the homework assignments. This may mean more grading for you, but having students prepared for class will change the classroom dynamic so much that it will likely be worth the extra time spent on grading. If you take advantage of the many technology options available today, it is fairly easy to manage grading time. For more info on grading quickly and efficiently, take a look at THIS