After a user puchase PM and on a plan and when a new plan that's better offer (i.e promotion) became available, the user have to give up whatever left on the current plan inorder to purchase the new and better plan before its no longer available. Treat your current PM user better by implementing a better purchase system:
The exiting user can purchase ANY plan anytime and set its activation (or queue its activation) AFTER the current plan expired (i.e 30/60/90 days). That way, loyal user's who's on a 90 days plan doen't have to penalize as oppose to a 30 days when a good promotion came up.