I am currently trying to figure out the best way to display filterable leaderboard-like data in my web application. The app functions as a type of online-voting competition. When people sign up with their team, they have to choose from one of several different categories. These categories do not compete against each other, but should be visible on a shared leaderboard.
How it's supposed to work in its current incarnation
Since everybody can vote for any of the teams in any of the categories, my initial thought was to not display any of the competitors before the user actively filters the data with either the pictured category buttons (A, B and C) or by searching for a known competitor via the search field.
What I've got so far
I have embedded a sketch of my ideas described above. There is a functional web application with sample data, but that is not yet accessible from outside our dev environments - I hope you still get the general idea.
Problems reported by users
Users tests with a small group of users so far have shown, that some users will not click any of the buttons and assume that there is nothing to be seen and thus leave the page without voting.
In a second set of tests where on of the categories was pre-chosen and thus this category's elements (competitors) were shown, users have noted, that this may lead to an unfair advantage, as these competitors will always be popping up first when someone visits the leaderboard for voting.
My Question
What is the 'best way' to present this kind of leaderboard without confusing or angering users because of bad UX or perceived unfair advantages?