It would be beneficial to have a third status for Marketing Contacts. Instead of just "Marketing Contact" or "Non-Marketing Contact", add a third one "Becoming Non-Marketing Contact" (or similar).
When a user marks a Marketing Contact to change to a Non-Marketing Contact, it would then sit in this transition status until the end of the month when it would become a Non-Marketing Contact.
That way we can set up views / reports to see how many Marketing Contacts we will have available next month, as well as seeing instantly if a contact is being changed from one to the other.