Не сидеть с ним до полуночи. Нужно начать отказывать в помощи, только ж не "Не буду помогать, взрослый уже", а "Попробуй лучше сам, не страшно, если ошибешься, но домашние работы полезнее делать самому". Если же не участвуете в выполнении самих заданий, а просто наблюдаете, чтоб всё делал, то просто перестаньте наблюдать. Говорите чтобы сделал до определенного времени, после этого времени уточняйте, всё ли он успел, что нужно было (и опять же, не через полчаса чтоб было готово, а к вечеру, до ужина, что не на завтра, можно отложить, а если не успевает, то не катастрофа, обьяснить, что лучше просто делать раньше, но не всегда всё можно вот так успеть). Потом и это лучше прекратить. Если решит чего-то не делать, замечательно. Посмотрит реакцию учителей, принесет пару нехороших оценок и поймет, что делать всё же надо. Ну а в старших классах (мало ли, знаю людей, которых это шокирует) даже не все отличники все домашние задания делают. Кто-то делает только то, что будет проверяться, кто-то частично на перемене перед уроком, кто-то выборочно только интересующие предметы, и это замечательно. Значит ребенок учится расставлять приоритеты. Редко когда это удается правильно, но научиться этому можно только путем проб и ошибок.
Сугубо мой личный подход, это изначально не делать домашних заданий с ребенком, а только мягко контролировать время и проверять выполнение на первом-втором годах обучения, сообщать об известных ошибках, но в этом вопросе не сильно наседать: сказал, что "А тут у тебя пара ошибок есть, в остальном всё хорошо", и пусть уже сам думает, исправить их, или оставить как есть. Принесет еще раз проверить, тогда проверить. Просто скажет, что поисправлял - замечательно. Ну а помощь, только наводящая (не решать за ребенка, а наводящими вопросами напоминать о правилах, по которым решается то или иное задание). Хотелось бы, конечно, чтоб выполнение домашних заданий было приятно для детей, но раз это рутина, то она хотя бы не должна превращаться в принуждение или наказание. У ребенка должно быть максимум свободы и независимости в этом процессе, он просто должен понимать, что это важно для его развития, и если домашние задания выполнять, то будет проще в школе. Задание же родителей - научить ребенка правильно распределять время на домашнюю работу и расставлять приоритеты.