How to resolve uneven Grand Prix distributions and late withdrawals for injured skaters

I know this happens every season, but how could these be resolved ? I find this unfair that some skaters get to have a tougher time in a GP than others, top 12 in Worlds gets guaranteed 2 spots in the GP yet some are still stacked in 1 same GP event. let's not forget it also depends on the host country invitations, should the host country be punished for selecting weaker skaters to held up their home skaters ?

lets take a look at CoC, had these ladies competed in SC or SA none of them would have medaled or
the Pairs event in NHK is less stacked than say in TEB or CoR

another issue is the late withdrawals, were the spots are left unfilled
there should be like a penalty for not announcing 2 weeks before a GP event

Zijun withdraw but she was coming off from an injury
but there are others who announced it too late like Kevin Reynolds, Denis Ten, Chafik Besseghier

I know this happens every season, but how could these be resolved ? I find this unfair that some skaters get to have a tougher time in a GP than others, top 12 in Worlds gets guaranteed 2 spots in the GP yet some are still stacked in 1 same GP event. let's not forget it also depends on the host country invitations, should the host country be punished for selecting weaker skaters to held up their home skaters ?

lets take a look at CoC, had these ladies competed in SC or SA none of them would have medaled or
the Pairs event in NHK is less stacked than say in TEB or CoR

another issue is the late withdrawals, were the spots are left unfilled
there should be like a penalty for not announcing 2 weeks before a GP event

Zijun withdraw but she was coming off from an injury
but there are others who announced it too late like Kevin Reynolds, Denis Ten, Chafik Besseghier

Skaters can get injured close to an event. That is really out of their control. Making them skate injured is not an option, either. I don't think any significant change can be made in regard to withdrawals.

I think the change needs to be that scores are a factor in determining the GP finalists. Not the only criteria, but a bigger factor than they currently are.