The thing about duplicates is that it gives you flexibility depending on what war teams you will encounter. For example, in most wars, I’ll use all my Sonyas (usually with costume), and my Rigards. OTOH, 5* heroes like Clarissa and Domitia may not get off the bench because there’s no defensive team that are going to be susceptible to purple attacks. For me, cleansers, dispelers, and healers are those you can never have enough of, and having duplicates mean that you have flexibility to color stack when needed.
That being said, there is room to prune depending on the rest of your roster. 5 Chaos is probably too much, but 2 or 3 may be useful if you like the mana cut. Costumes also help out to make them more useful.
If we’re talking about maxed S1 4* heroes, I have:
3x Rigards (1 with emblems, 2x costume only) and another at 3/47
2x Chao (1 with emblems)
2x Hu Tao (1 with emblems)
2x Kiril (1 with emblems)
3x Sonya (1 with emblems, 1x costume only)
2x Grimm (1 with emblems)
3x Melendor (1 with emblems, 2x costume only)
2x Little John (1 with emblems)
2x Caedmon (just got costume)
2x Boldusk (1 with emblems, 1x costume only) with another at 3/1
2x Scarlett (1 with emblem)
Of course, it’s mainly due to what I pulled from TCs and delay in getting 5*s. That doesn’t include other duplicates that are sitting at 3/60, or some at 1/1 that I intend on leveling. Some heroes are riding the bench more than others during wars (Hu Tao and Grimm), but I’ll keep them for flexibility as you never know when you may meet up with an alliance that tanks purple or red. For the record, Grimm is a good hero, it’s just that I got Athena who is my first choice when it comes to def down, when using blue.