Yes, I do understand that it is inappropriate to pollute the already large blockchain with data not necessary to make the currency work. But I know people are using Bitcoin as an underlying system for certain applications, like data storage or reaching common consensus about matters not directly related to the currency itself.
What methods are mostly employed to inject the blockchain with arbitrary data (like custom scripts representing data or payouts to addresses that represent data)? Is there a need to stop this in order to prevent an undownloadable large blockchain from forming in the future? If so, how can this be accomplished?