Steve Pavlina has a brilliant article about how to get the right amount of sleep and be an early riser. The method he advocates is one that I discovered for myself several years ago, and it definitely works! (Not that I adhere to it as closely as he does, but I try.)
If you sleep set hours, you’ll sometimes go to bed when you aren’t sleepy enough. If it’s taking you more than five minutes to fall asleep each night, you aren’t sleepy enough. You’re wasting time lying in bed awake and not being asleep. Another problem is that you’re assuming you need the same number of hours of sleep every night, which is a false assumption. Your sleep needs vary from day to day.
If you sleep based on what your body tells you, you’ll probably be sleeping more than you need — in many cases a lot more, like 10-15 hours more per week (the equivalent of a full waking day). A lot of people who sleep this way get 8+ hours of sleep per night, which is usually too much. Also, your mornings may be less predictable if you’re getting up at different times. And because our natural rhythms are sometimes out of tune with the 24-hour clock, you may find that your sleep times begin to drift.
The optimal solution for me has been to combine both approaches. It’s very simple, and many early risers do this without even thinking about it, but it was a mental breakthrough for me nonetheless. The solution was to go to bed when I’m sleepy (and only when I’m sleepy) and get up with an alarm clock at a fixed time (7 days per week). So I always get up at the same time (in my case 5am), but I go to bed at different times every night.
I never have trouble falling asleep because I only go to bed when I'm tired. I get tired at the "right" time because my body knows when it's going to have to wake up, at nearly the same time every day. Mr. Pavlina picked 5am, but the time for me is either 7am or 7:30am, depending on whether or not I'm going to exercise.
He also mentions a way for most insomniacs to cure themselves.
I read that most insomniacs are people who go to bed when they aren’t sleepy. If you aren’t sleepy and find yourself unable to fall asleep quickly, get up and stay awake for a while. Resist sleep until your body begins to release the hormones that rob you of consciousness. If you simply go to bed when you’re sleepy and then get up at a fixed time, you’ll cure your insomnia. The first night you’ll stay up late, but you’ll fall asleep right away. You may be tired that first day from getting up too early and getting only a few hours of sleep the whole night, but you’ll slog through the day and will want to go to bed earlier that second night. After a few days, you’ll settle into a pattern of going to bed at roughly the same time and falling asleep right away.
If you get up at the same time each day, getting tired and falling asleep will take care of itself.
In part 2 he address the issue of, "why bother?".
Think about what you could do with that extra time. Even an extra 30 minutes per day is enough to exercise daily, read a book or two each month, maintain a blog, meditate daily, cook healthy food, learn a musical instrument, etc. A small amount of extra time each day adds up to significant amounts over the course of a year. 30 minutes a day is 182.5 hours in a year. That’s more than a month of working full-time (40 hours per week). Double it if you save 60 minutes a day, and triple it if you save 90 minutes a day. For me the savings was about 90 minutes/day. That’s like getting a free bonus year every decade. I’m using this time to do things that I previously didn’t have the time and energy to do. It’s wonderful.