Certainly, the number of users with "stuck" transactions due to mistake or misunderstanding or exchange/webservice sending with low fee seems to be in a minority... and I would wager is not 1000 users per block.
I have received payment to accelerate transactions in the past, and although I didn't charge as a percentage of the outputs, the amounts involved were generally not trivial, and most people were willing to pay whatever it would take ahead of time. I would generally charge in the range of what it would take to get included in the next block.
Although pools may not find enough customers to fill up their blocks, but it would be worth it to implement.