yes, it has indefinite shelf life. in fact, you can mix up a highly concentrated batch, and then just add a specific amount of that to each liter of water. for instance, if you added ten grams of electrolyte to one litre of water, then you could pour ten ML of this solution into 900 Ml of water and this will give you the necessary one gram of electrolyte per litre of water. this will save time since you dont have to measure out one gram for each litre of water.
if you find it too acidic then use the adjusted recipe of .9 grams of K citrate and .1 gram of potassium bicarbonate per one litre of water. this will reduce the acidity.
if you have problems with the K citrate completely dissolving in water, just heat the water a bit and it will dissolve.