The thing that works for me is waking up (with an alarm) every day at the same time (6 o'clock) including week-ends.
I have a "dawn simulator" clock so most of the time I'm already awake when the alarm rings. But no matter what, when it rings I get out of bed immediately. You snooze you loose!