Controlling for baseline in difference scores I have a dataset of participants receiving various frequency of intervention. We want to see if those who received more intervention had greater improvement between pre-intervention and post-intervention. A simple model would be to (linearly) predict the difference scores using frequency of intervention as predictor.
The problem is that those participants who had the worse pre-scores are those who receive the most intervention. Because of a "soft-ceiling" effect, it is reasonable to assume that those with worse pre-scores have greater chance to improve (independent of intervention or not). Thus, I want to use a model in which the difference scores is predicted based on the frequency of intervention AND the baseline. Thus estimating the effect of the intervention while controlling for the baseline (and the "soft-ceiling" effect).
There is a risk, however, that this will attenuate the relationship between the intervention and the difference scores too much (as they are correlated with the baseline). Is there a better way of doing this?
 A: You definitely have a confounding situation. Using causal diagrams, I would draw the following as a simple model of your situation:

The idea is that the pre-score is affecting the treatment (or the frequency), and the pre-score obviously affects the difference, since 
$$\text{difference}=(\text{post-score}) - (\text{pre-score}). $$
Finally, we hope, the treatment affects the outcome. 
In analyzing this causal graph, you definitely have pre-score as a confounding variable, not a mediator, because the arrow directions set up the backdoor path: $\text{treatment}\leftarrow\text{pre-score}\to\text{outcome}.$ (A mediator would have been $\text{treatment}\to\text{pre-score}\to\text{outcome}.$ There are some counterfactual tools to analyze mediators that are well worth looking into.)
The only way I know of to mitigate the effects of the pre-score as a confounder is to condition on it. That is, you must segregate the data by pre-scores, and analyze each group separately. So that's what I would recommend doing.
[EDIT] In a linear regression situation, you can just add pre-score as an explanatory variable: this effectively conditions on that variable:
$$\text{difference}=a (\text{frequency})+b(\text{pre-score})+\varepsilon.$$
