I'm hesitant to take Ambien due to its occasional
sleep driving (
http://SleepDriving.com) effect. Maybe this is the reason for some of the reported incidents of passengers acting weirdly on flights.
My best idea for sleeping on long flights is to place an inflated beach ball on my lap and lean forward with my head on it. You can buy an inflatable vinyl beach ball for about a dollar at party-supply stores, and the weight is only about an ounce. It's best to air it out for a few days before travel, to get rid of the chemical that causes the vinyl smell.