Point being that the more narrowly-defined search does not require Google or Amazon to infer any meaning beyond what the object of the search is actually defined as.
A shirt lacking stripes would never be described or labeled as a "shirt without stripes."
In the absence of that actual description, you are asking google to assume what you mean.
It seems quite doable to handle "shirt without stripes" in the following way:
1) Gather all items labeled as "shirts" (among other labels)
2) Filter out any labels that includes "stripes"
A shirt doesn't have to be labeled "shirt without stripes" for this to work. A shirt labeled "shirt with stripes" or "striped shirt" would not match, and lots of other shirts (solid shirts, shirts with prints, whatever) would match just fine.