As a consistent suggestion, HOLD ON TO YOUR PRICE. We have had guests trying to negotiate price and we always respond that our price is not negotiable. Guests trying to negotiate price tend to be more problematic, no matter what reason they use.
I have had several guests booked with me due to other hosts cancelled their reservations last minute. It's not uncommon on Airbnb due to many reasons including the one you had -- previous guest violated house rule and you need to cancel the next reservation to fix it. But those good guests never negotiate on price.
Smoking pot is becoming an increasing issue to a lot of hosts these days, including myself, as we really have no way to physically enforce the no-smoking rule, plus pot is becoming legalized in this country. Airbnb is not helpful on this as well. They only cover a deodorization fee if you hire a professional and send them the invoice. They don't allow us to put and "fine" on any guest violating our house rule.