I'll ask you. If they required something with no business justification, such as firing you for speeding, would you be ok with that too?
I would not, as my driving record is irrelevant to my job.
However, I think drug use can be completely relevant, regardless of the work you're doing. If a company doesn't want to hire people who use drugs, I think that should be their right. If a company doesn't want to hire felons, that should be their right. Hell, if a company doesn't want to hire people with a lot of parking tickets, that should be their right, too.
I, personally, have no problem submitting to a criminal background check or a drug test. If I want the job, I will submit. This isn't the same discriminating against someone because of race or gender. Drug use can directly impact the way a person does a job.