Instead of having the in-game store (Not the premium one) refresh every hour, how about instead having it refresh after every mission completion?
That way, player action actually matters and you still achieve the goal of keeping people playing the game.
Nothing good in store? Just play another match and try again - Instead of waiting for the duration of roughly 3 games.
In order to avoid people losing items they want by refreshing (Like if they’re missing the credits to purchase it), add a “Item reserve” mechanic that allows the player lock items in the store (Say maybe up to 3 items per category), so that they stay even as the rest of the inventory is refreshed.
Well aware that this is a considerable overhaul, but I feel that the current design of the store is nothing but frustrating and too far detached from player actions.