Dear Christopher.
In order to propose a useful fix, I did do metrics to get a better contrast.
I made a code to compute the luminance L of all colors in AUCTeX.
(nth 2 (apply 'color-rgb-to-hsl
(color-name-to-rgb COLOR-NAME)))
The worst case scenario is when theme authors choose background color in mid tones (background luminance around 0.5).
To detect poor contrast, in light background, foreground color should have luminance < 0.4, and in dark background, luminance > 0.6. So the metric was at least 0.1 for the worst scenario, but a wise choice for themes is not such a worst case scenario ;-)
Once I detected the bad colors, I chose similar colors (mostly with similar names) as replacement, to keep changes as little as possible, for historical reasons.
PS.: By the way, I also use the tsdh-dark-theme. Before, I barely could see math scripts ^ and _ in that theme.
Miguel.