Simple solution
The autopilot could, after warning the driver a few times, simply slow the vehicle down until they put their hands back on the wheel and show they're conscious and aware. If the driver continues to ignore, pull over on the shoulder and stop. Software can address some human stupidity but it's a hard problem and the human owns the blame when SW can't get their attention.