Here’s a thing: Apparently Apple ruled that PG had to disclose the drop rates of chests more or less so that the odds in a game of chance would be known.
So, I propose that any in-game item that may currently be dropped from a chest instead be assigned a fixed price in some new currency and be made available in an in-game store whenever a player has sufficient of that currency.
This new currency would be gained at a known rate by playing the game, with the greatest quantities awarded for 5-attacks on bases with defence values significantly above that of the sum of the attack values of the dragons used, taking all boosts into consideration, or by winning base defences.
This currency could of course also be purchased with rubies at a known rate of exchange
No longer would we be gambling with rubies, hoping that we’ll be lucky and get the particular thing that we need right now. We would know, get a certain amount of this currency, from playing the game as it was intended to be played, and we can get just what we want. Of course, we need many things, and if the balance between accumulation of the currency and the cost of items is correct, players will either have to do a lot of grinding to get everything - though this should not be impossible or even impractical - or spend rubies to get this new currency.
Alternatively, regularise the drop rate of rubies, and make everything purchaseable using them.