It might be easiest to create and combine the filters, and then add the combined filter to the QueryFilters.
var filters = new List<PredicateDescription>();
// Some conditional logic ..
filters.Add(new PredicateDescription(Query.QueryableType, "SomeProp", FilterOperator.IsEqualTo, "a"));
// More conditional logic ..
filters.Add(new PredicateDescription(Query.QueryableType, "Discontinued", FilterOperator.IsEqualTo, false));
// Combine and add
var combinedFilter = PredicateBuilder.And(filters.ToArray());
QueryFilters.AddFilter(combinedFilter);