I suppose we can have a database that the tool reads from and then writes to the card, and adjusts the values dynamically based upon miner feedback. Would need to hook into the miner somehow, pull the hashrate value, and contrast it with its referenced database.
For ethash it can likely be done without any feedback from the miner on hashrate, as it's all about 128-byte random burst read performance.
For ZEC it is a bit trickier, since different kernels can have slightly different memory access characteristics, but in general short (32-byte) random memory write performance is the limiting factor.
For ZEC and possibly cryptonight, it might also be helpful if auto-precharge can be controlled.