On long distance flights I always use the following hack in economy: I take the armrest separating me from my neighbor and tilt it almost fully up, so it forms about a 15 deg angle with the seat back. Now it's a headrest! Then I take the pillow, fold it and stick it in between the armrest and my head so I can lean comfortably.
Of course this requires kindly asking for permission from the seat neighbor. But most don't really care about the armrest as it doesn't provide enough space for two arms anyway.