Do you know the KH & GH? Sometimes called alkalinity & hardness. I think adding a small amount of table salt (iodized is ok) might help a little bit but you cardinals won't like much.
Dissolve 1 teaspoon per 5 gallons of tank volume in dechlorinated water. When you change water add enough salt to keep it at that level. So if you remove 5g, add another teaspoon. See if that helps at all, but watch the cardinals for stress. When it's time to remove the salt it'll need to be done slowly over several days by changing water.
I'm concerned about the white on it's mouth but I can't see it well in the pics. Does it look fuzzy? Clamped fins & shimmying are not good. Do any other fish (beside the 1 guppy) have white or grayish areas on the mouth or between the head & dorsal (top) fin? I'm worried it might be columnaris, a bacteria. Look hard!