Views Default Contextual Filter
I would suggest a small trick with contextual filters. 

After adding a filter:


You could simply select and fill the 'Provide default value' field.
Here you have many options to mention the default value. The one which should work for you is: "Raw value from URL"


Alternative:  


Set 'WHEN THE FILTER VALUE IS NOT AVAILABLE' to (Display contents of "No results found")  
Select 'Allow multiple values' option at the bottom (by clicking on more)  
Now you should pass two filter with the URL 


Your default filter  
Filter which user will add to url.  

So your default url should always include the default parameter (filter).  
Once this is done, when there is no value for the user's filter view should filter the results based on the default filter.