I am running a difference in difference (DiD) model on the effects of job-training on earnings. My data consists of a staggered adoption design whereby units receive treatment at different times, but once a unit is trained, it is regarded as a treated unit for all the following time periods. My data has $N=4000$ and $T=6$.

My data appears to suffer from the famous Ashenfelter’s dip problem. In that the
mean earnings of participants in training programs decline during the period just prior to participation. I am aware that this biases my DiD estimates. To partially deal with them I run an event study model, including dummy variables of leads and lags of training. However, this is not a real solution. I was wondering whether there are other approaches I can use to identify the causal effect of the training (matching?). What is the standard technique scholars use? 
Any suggestion would be immensely appreciated.