My mare has kicked out once at another horse on the trail (a youngster who was too close) and at my dog a few times when he got too close to her feet. Each time I turned her to face the "kickee" and when I am near new horses I am always very aware of where the other horses, people and dogs are. I ask others to be respectful of her space. I can't recall her ever kicking out again at a horse, but it could happen. I do pay attention to her tail; if she starts to swish I turn her to face the other animal. Maybe if I didn't pay attention she would kick and I can't be perfect, so I do the red ribbon.
I am happy to tie a red ribbon in her tail: everyone stays clear. I like it like that. No so much to protect them because I don't think she'll kick, but to keep them away out of respect and a JIC thing. If it takes self-protection or "fear" to keep them away, that's fine with me :)
I never canter her with other horses close to her, especially if she's in front because she's an ex-race horse, so I can't help you with that.
Your horse was in the right to kick the other horses that were right up her bum; that doesn't mean it's a good thing, but I can't really put the blame entirely (even mostly) on her. I hope no one was hurt, but I hope the owners learned something from it.