Chuck Gadd has a downloadable calculator I use.
You tell it the chemical, the amount of chemical and water you want to mix together in a solution, and the size of your tank.
It then tells you how much 1 ml of the resulting solution will raise the chemical ppm in your tank.
I try to tailor my solutions so a dose is a convenient measure, like 1 tsp. So I multiply the calculator's result by 5, because 1 tsp = 5 ml. If the resulting ppm added is too low or high, I change the chemical amount and try again until I'm in the ballpark.
It will give you a warning in red on the right side if you exceed the amount of chemical that will dissolve in a given amount of water. In that case, I go to a larger dose size, like a tbsp (15 ml).
It does not handle CSM+B. I think APC's "Fertilator" calculator handles that, but I work that out by hand. Here's how I do it, this example may be of use to you and others:
1 tsp. of CSM+B will increase iron 7.42ppm in a 10 gallon tank.
I don't use CSM+B alone, I prefer to premix it with magnesium and potassium:
1 tablespoon CSM+B
1 tablespoon MgSO4+7H2O
2 tablespoons K2SO4
The resultant mixture is only 1/4 CSM+B. So 4x as much, or 4 tsp. of dry mix increases iron 7.42ppm in a 10 gallon tank.
Let's say I combine 2/3 tsp. of dry mix with 2 tbsp. water. I chose 2 tbsp. water because that's the size of an eyedropper I have, and 2/3 tsp. of dry mix because it's the max that easily dissolves in that amount of water.
So now I have a solution that contains 2/3 tsp. of dry mix. How much would that entire bottle increase iron ppm in a 10g tank? 2/3 = 0.66, so (0.66/4)*7.42 = 1.22.
Using this solution and the numbers we've figured out so far, we can figure out the amount of this solution to use in any size tank to achieve a desired ppm increase.
Let's say I want to use my solution to raise iron by 0.05ppm per dose in a 2.5g tank.
Since my 5g tank is 1/4 (0.25) the size of the 10g reference I've calculated everything for, the entire bottle would raise my tank ppm by 1.22/0.25=4.88. That's certainly too much. Instead, figure out how many doses the bottle contains: 4.88/0.05=97.6 doses.
I have 2 tbsp of solution to divide into 97.6 doses. 2/48.8=0.02 tbsp per dose.
I know 192 drops from my eyedropper equals 1 tbsp, because I tried it, and wrote it down so I'd never have to do it again.
How many drops do I need for a dose? 0.02*192=3.8. A dose is 4 drops.