I'm sorry, what's the problem with changing the limit in IsStandard() back to 80 bytes? I have yet to see any argument for why 40 is better than 80, and using the latter value would benefit everyone involved immediately.
For relay, probably no immediate problem.
For mining, it encourages spam.
For long-term, it's unnecessary.
Edit:
Except that relaying transactions which will never be mined is currently exploitable. So either that would need to be fixed first, or the relay needs to be more intelligent and only relay Counterparty transactions the same way miners would mine them.
What kind of spam can fit in 80 bytes and not in 40 bytes? What kind of spam cannot be easily split across two separate transactions? This is a small thing that we're asking, and it would help a lot of people. It's not necessary for Bitcoin, but it's very useful for lots of applications like ours (which, again, are purely financial). Don't the benefits outweigh the rather small costs? I firmly believe that Counterparty is very good for Bitcoin in the long term; it as-it-were extends its functionality while being entirely backwards-compatible.