to take other steps to hassle SD (client changes to encourage higher fees to leave SD behind in priority, etc),
Thats not a step to hassle, it's just free market competition for space. Of all possible solutions it is the most socially neutral in my opinion, but it has an unattractive cost: The 0.005 BTC/KB needed to reliably get ahead of SD would imply a 0.5 BTC fee on a 100KB transaction...
Should we really be blocking "1di" address prefixes (give or take),
The filter on that patch is on bytes of the binary hash160, so it's actually blocking the whole base58 prefix (1dice), not just 1di. I agree that the blocking is ugly.
or should we instead be building something into the txn priority protocol that either discourage address re-use or re-spending of funds not yet confirmed?
For a long time even before SD existed I ran a patch which only permitted two transactions from or two any address per block. I like it: Beyond the issues with privacy, security, and censorship that reuse has, people who reuse are voluntarily identifying which txn are theirs so we might as well use that data to give more equitable access to the blockchain by rate-limiting reusers. But other people didn't like it, and I got called names over it. ::shrugs::
There is a fundamental imbalance though: Priority vs fees. Long term costs and profits vs short term profits. Because no one knows how to evaluate the long term impact of low priority txn blocking out high ones picking things based purely on fees is surely attractive. The first time a miner misses out on a crazy high fee because of the above mentioned rate-limiting, I expect they're going to rip that crap right out. Thoughts?