The general hardness isn't really a concern. It is the carbonate hardness, if it is low your water has no buffering and pH can jump all over the place. What you need is to test the carbonate hardness (kH) also known as alkalinity. Or you can have a go just by your pH readings. You can add sodium bicarbonate(baking soda), crushed coral or limestone. Can't tell ya how much as each aquarium is different. But after adding enough you should see a rise in pH. The baking soda will make for quicker results as the coral or limestone will take time to disolve.
With your pH being as low as it is I would not worry too much about the ammonia, but still keep an eye on it.
With your pH being as low as it is I would not worry too much about the ammonia, but still keep an eye on it.