How can we handle cases were the quality of the prediction undermines the quality of the data?
Because of this, more and more patients who would have been classified
  as high risk are actually not catching the disease and therefore
  decreasing the accuracy of your model.


I'd rather challenge the assumption and say the algorithm didn't miss in this case: it correctly identified a high risk case, which was its original purpose. You're not building a model to identify people who will catch the disease, but to prevent the disease of actually happening.

Always think hard about which metrics make sense and what they represent. If you build a confusion matrix:

Predicted \ Actual | Caught the disease | Did not catch the disease
High risk          | A                  | B
Low risk           | C                  | D


Now, when you use accuracy, you're saying A and D are good, B and C are bad, all with the same weights. But is B really bad? Isn't C way worse than anything else? Or depending on the cost to prevent the disease, maybe B is worse? I don't know, it requires domain knowledge. But point being, using accuracy mindlessly is not a good way of dealing with this situation: adjust your metrics to your problem.