To reinforce the first sentence of @Dan_Obermiller's post: If you can run 100 experiments some days and 20 others I would have a hard time limiting every day to 20 runs. Yes it would be nice to have each day neatly blocked together and optimized, but if extra runs on the days you can run 100 are inexpensive then why not run them? If you just add the blocking variable later as you suggested sure you might find that you don't have enough runs at the end and you might not have used the smallest possible number of runs, but if you could have done twice as many runs in the same time then it might not matter. Perhaps you could create the experiments with blocks of 20 and then throw that column out, execute the runs in order, and then add the day blocking variable. That way if some days have 20 runs and some have 60 they would still be closer to optimal.
If some days you can run 20 experiments but every once in a while you only get 18 then sure you might just run 18 per day.
As to your question about what to do if things don't go as planned: If you find some new factor that might have affected your experiment, like the day, then sure you should add that to your model. You just need to be careful about what conclusions you draw, if you add a new variable that you weren't controlling then you might not be able to infer cause and effect.