I may have a solution, which is a refinement of suggestions by others. Note this is for people using a Mac synced to iCloud, and with iOS devices. It does mean re-arranging your colour scheme.
- Take note of the the offending calendar in your list of calendars that is changing colour, as well as the colour it is changing from and to. My bet is there's only one that is changing, and it's changing from something to blue and back. If this is not the case, my instructions may not work for you and you should proceed at your own curiosity.
- Turn OFF any iOS devices that sync to iCloud. This means OFF, not standby, i.e., hold the power button and slide the power off slider that will appear. This means all your iPad, iPod touch, and iPhone devices synced to iCloud.
- Turn OFF any iOS devices that share a calendar with you if they have edit privileges on that calendar. Ideally, turn them off anyway. If you can't do this due to not having the device available, unshare the calendars for now.
- Log out of iCloud on ALL browsers.
- Shut down all PCs and all but one Mac if they are syncing to the iCloud calendar.
- On the one Mac that is still on, go to your calendars and change the colour of your main "Home" calendar to blue. In my case I had renamed my Home calendar to be my own name. Basically, the primary calendar is the one you are looking for. I was using purple for that calendar, and blue for any hobby related calendars (I sync to 12 calendars) so I reversed the scheme, making home blue, and hobby purple.
- Wait for the calendar to update.
- Quit calendar application. Don't just close it, quit it (splat-Q)
- Wait a minute for background processes to clean up.
- Start calendar.
- Wait for calendar to sync. Ensure colours stay the same.
- Power on one iOS device.
- Load Calendar on the iOS device, and wait for it to sync (note spinner at top). Don't let phone go to standby, touch the screen once in a while to keep the Calendar in the foreground. This is critical.
- The Calendars should change to the new colours. If not, power down, wait, and repeat from step 12.
- If Calendars still have not changed to new colours, manually edit them to match the Mac. This step should not be needed if you were patient in step 13.
- Repeat steps 12 - 15 for each iOS device.
- One at a time, power on each additional Mac, and PC and load Calendar, wait for refresh. Colours should switch to the new scheme.
- Sign into iCloud and look at your calendar. Again wait for update. This one took a while for me.
This takes patience, waiting for the refresh on each device. It took nearly 8 minutes on my iPhone, but it has remained stable now for 15 hours.
Windows users could adapt this method using iCloud as the first device to change colours on.
I believe the key to this working is to accept that your "main" calendar is to be blue, changing the colour of any previously blue calendars to whatever the colour of your main calendar is now.
This may not work for all... but it worked for me... best of luck!