This right here is the way to deal with the problem. Lowering a salary should only happen if someone is a fuckup or reduces the amount of work they have to do. Doing it over time like this is super classy.
At Google they just openly adjust your salary if you move between cities; move from NYC to Atlanta and you'll take a bit hit, move back for the reciprocal instant raise.