Backup repository size is much bigger than indices size discusses a problem that snapshots can be too large.
I do not think removing old snapshots is the solution because if the old snapshot has segments that newer snapshots do not have, we are not able to recover the data after removing old snapshots...
Does elasticsearch have a way to identify if any snapshots are safe to remove because latest snapshots 'cover' them? Or does elasticsearch have a way to clean up old backup segments that are covered by the latest segments.
The other solution is periodically generating a new snapshot from scratch... but I am not sure if this is the best solution.