If the landing is built on blocks.. you could remove one block and shovel rock into the space. Tamp it in as you go, make sure it fills all of the space. Then replace the block. Dense grade rock would work.
The water problem may be at the point where it joins to the house foundation, It may help to do some caulking where it joins together.
Have you checked the slope of the landing? If it is draining into the house, tear out and replace is the best option.