If possible consider trying to sleep on your side and back exclusively. I say this because sleeping on your stomach can cause neck strain and is not healthy for your neck. Already you are waking up with your neck and back aching. You need to change something in how you are sleeping.
Changing from a stomach sleeper to a side or back sleeper is easier said than done. Its going to have to be a gradual process and you have to let your body think you are sleeping on your stomach to help fall asleep.
So two pillows i am going to recommend that will help you to stop sleeping on your stomach and a pillow that will give you proper alignment when you are sleeping.
1. The Tear-Drop neck pillow. You place this under your stomach area and simulates you sleeping on your stomach, but really you are on you back.
2. A supportive pillow such as tricore cervical support pillow to give you proper neck support while you are sleeping. This contoured neck pillow gives you the proper neck alignment when you are sleeping.This fiber contoured pillow is on the more firmer side, and you can can actually choose firm or more firm in this family of support pillows.