I work with a wonderful peadiatric chiropractor who deal with these problems all the time. She's just seen my 10 week old nephew and he's had wonderful results.

Basically speaking, a lot of babies have neck problems from birth and deliveries that cause them to favour one side because of stiffness and pain. You can try and try as much as you like to get the to change sides etc but unless you have the neck problem addressed you wont have a lot of success

My suggestion is to find a chiro or osteo or physio that specialises in babies and young children. By gently asjusting any problems there it will help baby be more comfortable turning his/ner neck and therefore not favour one side, and ultimatley help with the flat sides!