Well, we maintain different calendars for different locations across the globe - this is understood. Though a group of locations belong to the same calendar - their holidays might differ. With regular holiday procedures at different locations, and each different from one another - you will have to maintain different calendars at each location - like PROD_<loc> for production calendar, SH_<loc> for shipping calendar.
If a holiday procedure to be implemented at different locations - it then becomes a manual activity in creating holiday by removing the specific streams of time in all these calendars. As of now, there is no way of generating the time-streams considering a particular time-stream as reference (I guess so) - this means, we will have to, without any choice, maintain the holidays at all these locations manually.
Let's suppose the holidays are now cancelled - this means, we need to remove the holidays and generate the time streams as per the calendar (which has no. of years in past/future with the calculation rule - specifies which days are working days [Mon-Fri]). This becomes bit tricky now - you will have to actually do the same job for multiple time streams!
Isn't there an easy way to do this? There's this note 1130778 which said - 'there is no option to auto-generate the time streams, and the solution for this is to create one custom program as specified in the solution part' - but this seems to generate the time streams for all the calendars - which is against to the requirement (holidays differ between China and US - we do not want the time streams for US locations to be disturbed for the sake of generating the time streams for China locations).