This post is more to inform people on a solution as I could not find a proper solution (not just a workaround) anywhere, not that I am having a problem (anymore).
I was having the problem where I needed to hide the 'Clear Filters' button in a SharePoint List, even for users with Edit permissions and higher.
There is a way to disable/remove the 'Clear Filters' button through a combination of Site Permissions and/or List Permissions (depending on your use cases).
Option 1 - Hide the Clear Filters button for a specific Permission Level across all lists in a Site
If you go to the Site Permissionsof the Site that the list belongs too, then Permission Levels.
Then select the permission level that you want to hide the 'Clear Filters' button from - in my case, theEditPermission group (ignore my custom permission groups).
UNTICK Manage Lists and Save your changes.
Users with the edit permission will now no longer be able to 'Clear Filters' - as seen in the image below, the Filter 'Personal Items' is selected, however, I can still edit in grid mode (Edit permissions), but there is now no 'Clear Filters' button.
Now repeat this process for all permissions levels that you do not wish for those users to be able to 'Clear Filters'.
Option 2 - Hide the Clear Filters button for a specific Permission Level for a specific list in a Site
If you just want to apply these changes to a specific SharePoint List in a site and not all SharePoint lists in a site, you will have to disable Inheritance on the SharePoint List and create custom permission levels on the Site level and then associate those custom permission levels to the SharePoint groups in your List permissions.
For example, I have created a custom permission level on my Site called 'Edit items'. I have UNTICKED the Manage Lists option for that permission level.
Next, in my List Permission Settings, I disabled inheritance from parent (the Site).
Then I edited the permission level allocated to the Site Members group for my List and set it from 'Edit' to my custom permission level of 'Edit Items'. Then I saved my changes.
Essentially, its the same steps as Option 1, but you need to disable inheritance, set up a custom permission level and associate the custom permission level to your desired SharePoint group.
NOTE: I would highly recommend also disabling the permission to allow users to manage personal views. While the users still won't be able to clear the views, it will allow them to create a personal view without the filters from public views (essentially clearing the filter by creating a new personal view).
Hope you find this helpful!
Let me know if you have any questions, happy to help :)