Are there any good ways to exclude variants from a search

I think you need to index the part that you want have as filter in a separate field and then use facet searches on that one. See this forum answer.