New with Counterparty-lib 9.55.3 is the option to REQUIRE_MEMO.
It goes live at block 489956, around October 16, 2017.
If your address has this option enabled, any transfer to it without a memo will fail. This feature is intended for easier exchange integration. An exchange may now use only one deposit address for all its customers and for all Counterparty assets, XCP included. As long as a memo code is required, the exchange can easily keep track of all deposits (and customers who forget the memo will not be able to deposit, significantly reducing.support requests).
All it takes to require memo is a broadcast with text
Here’s how it’s done in Counterwallet: