Infants and toddlers crave predictability and comfort, it makes them feel safe and happy and teaches them that things are okay even if sometimes unexpected events happen or changes in the routine happen.
There are so many factors that could be at play, but if you're ready to try anything to **help everyone sleep better**:

 - Cut all screen time (TV, tablet, everything) until he is at least 24
   months old. The [American Academy of Pediatrics (AAP) discourages media use by children younger than 2 years][1].
 - Cut all foods containing sugar except raw fruits and a small glass
   of juice in the morning.
 - Take an appointment at a Naturopathy Clinic about the eczema.
 - Figure out a routine that fits with your needs, make it realistic and rock solid, and - VERY IMPORTANT - tell him step by step what this routine is, before it starts, as you are starting it, and at every step while you are going through it.

Example : "You're going to have a bath, then go put on pajamas. We'll read two stories (make sure you stick to two if that's what you decide:), then we'll rock and sing a lullaby and then you'll go to sleep."

You repeat this at every step, modifying it to say what has been done, what is now happening, and what is coming.

At the end of the routine, you leave quietly and let him figure out how to fall asleep. 5 minutes of crying  before falling asleep is totally normal for a toddler who is in general happy and healthy. It's not worth fighting every night because he will grow into different phases anyway.


  [1]: http://pediatrics.aappublications.org/content/128/5/1040.full