You aren't the biggest offender, but how should anyone draw an arbitrary line for "you are polluting too much" and "you are polluting, but to a reasonable extent".
The most reasonable and quantitative means I can see is technical; if there is no network engineering benefit to announcing more specifics it should not be done. There's lots of swamp space where you'll see 2 contiguous /24's announced with the same AS path, metrics, etc. Those are the prefixes you should be pushing to get aggregated, not mine.
You could do a deaggregate+no-export method as well, even with your two different transit providers. You would just need to run ebgp-multihop to each of them from the opposite network, and announce your more-specifics there. Not a perfectly clean method, but at least it keeps your pollution local.
Then there is no ability for remote networks to choose the best path to my Toronto vs Ottawa networks (since the different transit providers would announce only the /20). Instead of using more router CPU/mem, this uses more network bandwidth than necessary (statistically speaking traffic has a 50% chance of going to the "wrong" transit provider). As well, for the ebgp-multihop to work wouldn't that require some extra static routes to be setup by my transit providers? -Ralph