I feel like the auction system should allow you to queue one hat at a time. The queued hats would then all be together in a pool. Rather than randomly picking hats from that pool, I think that players should be allowed to vote for a hat to be auctioned for. Only players with x amount of hours should be allowed to vote in order to reduce players using multiple accounts in order to raise their hat's vote count. That way the hats with the most votes within a certain timeframe are set up for auctioning. I feel like this method is best as it basically chooses hats which players are actually willing to bid for. Doing this helps avoid less appealing hats, which few players would even bid on, from entering the system. This can also be used to help avoid hats in current stores from being introduced, but it is still potentially a problem since it relies on players to have a certain amount of knowledge of the game in its current state.
--
EDIT-
You could even introduce a small gralat fee, like 100 gralats, in order to make a vote. This can help by weeding out some troll players, since the players paying the fee are more willing to actually bid.
If you set your hat for the queue, you will not be able to change the hat, but you may remove it from the pool which invalidates you from queuing another hat again for the current and next timeframe, but not the ones after. This is to help prevent trolling as well since players can remove their hat from the queue last minute.
Once the timeframe has finished, the queue will refresh completely and you must enter your hat again for the queue pool.
You can make it where also only x amount of players, with x hours, are allowed to join a timeframe to avoid too many people oversaturating the pool.
There can also be another small gralat fee to queue in order to deter last minute removals which take up spots in the timeframe needlessly. However if the gralat fee is too high it can also deter a lot of players from participating in the auctioning system.
Perhaps you can even prevent players who have successfully auctioned off a hat from joining another pool timeframe until an x amount of timeframes have passed to give other players a chance to auction off their hats.