Let's focus on homework as practice.
If the purpose of the homework is that it should help students learn, then it is necessary to give students feedback. Grading the homework makes it into an assessment. Feedback is much more powerful than a letter or percentage. Feedback should identify what students can do and what they need to do better. Homework for the purpose of practice is very powerful.
Effective practice should encourage students to get help from parents, friends, teachers, youtube, google etc. After all, practice doesn't make perfect, perfect practice makes perfect. To grade homework would then not reflect the knowledge of the student. To not allow help from all possible resources would encourage a student to practice without being sure that they are "perfectly practicing."
If the homework is required, it should be at the correct level for the individual learner. If a student does not bring the homework completed at the due date, then the student should be required to complete the homework at a designated time (lunch, before school, after school) rather than being give a zero for the behavior of not completing the homework. Most students would think of losing time as a greater consequence than a zero. Exceptional students who are very grade conscious would see getting a zero as a big consequence, but are those the students that we are concerned about not turning in their homework?
At other times, homework can be optional. Why would a student complete the homework? He/she would not complete it unless they see the direct benefit of the homework helping improve their learning and then helping them on the assessment. The homework will only be beneficial if feedback is provided and it is directly aligned to what is on the assessment.