One more reason to go for non-raster subs, I guess ... in a structured non-graphical format you could naturally tag text spans with sound sources and then have the player chose to assign a random text color to each tag or not, from a user-configurable subset of the gamut that doesn't conflict with their potential color-blindness.
The problems with assigning a color to a character;
1. It would require me to think during the presentation, AND read the subtitle
Reading subtitles happens in real time, obviously, and I prefer not to have to think, I would rather be entertained. If colors are assigned to characters, I would have to remember the colors for each character, and then remember who is speaking when I see the color. That won't work.
This is where closed caption really excels. Captions are positioned as close as possible to the speaker. If Picard is on the left and speaking, the caption will be on the left side. When Riker speaks, and if he is on the right side of the screen, the caption will shift to the right side of the screen.
Subtitles, both regular and SDH subtitles, have never mimicked this behavior until recently. SDH subtitles on the blu-ray will sometimes be positioned near the speaker, but simultaneously. It's a clusterfuck trying to read left to right when two lines of subtitles are displayed on each side of the screen for a total of four lines of subtitles. Insanity. My OCR'd subtitles remove this annoyance. In the closed caption instance with Picard and Riker, as soon as Picard is done speaking, the caption disappears and then shifts to the right when Riker speaks. SDH subtitles do not do this. It is displayed, simultaneously. But, the last few years have been an improvement, so, for that, I am glad.