You have the choice whether to charge a cleaning fee or not. The system, as it is, works well for a lot of us.
We charge a cleaning fee because we don't have a minimum number of nights. We wash all the floors, change and launder all linens (goes without saying) wash baseboards, vacuum, clean windows, refrigerator, stove - everything, every time we receive a new guest. That is why we consistently get 5 stars for cleanliness. But the thing is, I do the same amount of work whether they're here for one night or seven and while our rate makes sense for more than three or four nights, there is no way we could charge what we charge and factor in the amount of time I spend on cleaning with any degree of consistency.
So cleaning is broken out into a whole seperate thing. It encourages longer stays and penalizes those who take up more of my time than I can honestly afford to give them. And rightly so.
I suggest, if you're feeling put upon by the cleaning fee, you lead with that in your listing description.
Personally, I think people who use Airbnb regularly expect it and those of us who need it, really need it.