My family remodeled and has dealt with old and new layers of cement. I suggest the following plan based on our educated, though non-professional experience.
Leveling Old Cement Floor
Preperation
If it is safe to rinse the floor, you should wash the floor with cement cleaner (an acid requiring a special brush). This is will remove the less sticky and more corroded surface of cement, however this is optional, because there is a better way to correct this problem.
Alternately, You can use special concrete grinder. The aim is to take off the highs as well as expose the inner cement. This is messy, and you will have to be thorough about your cleanup.
Sealing
Next, if moisture ever was or ever will be a problem, then you have a serious risk that is common in 90% of Puget Sound area: mold. Mold can grow slowly and invisibly through the materials of you home, gradually poisoning the home. University studies found that in areas of the United States that were less moist as much as 50% of homes were poisoned in this manner by mold. The primary solution is to block the mold's access to moisture in the design of the home from the beginning.
Since you can't reconstruct the foundation walls, I suggest you treat the base of all wood-touching-cement beams (and wall-touching-cement) with a mold killing agent and wood hardener, followed by a liquid moisture barrier, like RedGard. This should slow or prevent the spread of moisture from the cement. If you can afford it, you should apply the moisture barrier on the area of the edges of the floor and as much of the floor as possible working in from the outer walls (where invisible moisture is most likely).
Leveling
It is important to do the last two steps first, because RedGard has good adhesion to cement, but not very good adhesion, so if it were near the surface when leveling cement was laid, then the thinnest areas of cement would tend to break up and peel off a little bit around the edges. This would not help the laying of the final flooring.
Now, your plan sounds great for leveling the floor. if the ground beneath the foundation is 98%+ packed and has good drainage, then you shouldn't notice collapsing in the foundation for many years, though you are right that thicker (4.5 inch or more) is better. If you want to add strength to the floor, a thin and flat laid layer of 'chicken fence'-like wire, preferably galvanized could be laid just before you lay the first layer of cement. This will prevent cracking and crumbling on the underside of that layer of cement and help to make even a thin floor strong like a thick floor.
Once you have considered these points, go ahead and fill the floor with cement as you have suggested, using proper cement/concrete, then leveling cement.
Notes
Note that the liquid gypsum idea by isherwood is great. Just remember to patch holes in the existing floor, and apply moisture barrier before laying it. It also helps to fan dry in warm weather the gypsum after laying it to get it dry as possible before laying the flooring. Gypsum is about as bad in the matter of wicking up moisture as a material might be.
Also, please note that it is a very good idea to use a high volume O3 generator non-stop for several days between Preparation and Sealing in order to reduce the amount of mold spores that will get kicked up when applying the layers of floor and wall.
Best Answer
I saw on another thread that someone said to use a concrete resurfacer. Which means it isn't self levelling. So the work to get it flat will be about 3000 more calories than your self levelling idea. But from what i know about floors you have to wait 20 days after pouring concrete before putting the epoxy down. Because of moisture evaporation and the drying process. Good luck.