It's not difficult to replicate the behavior of subscriptcorrection by fetching the code from mtpro2.sty:
\documentclass[12pt]{article}
\usepackage[utopia]{mathdesign}
\makeatletter
\AtBeginDocument{\mathcode`\_=\string"8000 \catcode`\_=12 }
\begingroup
\catcode`\_=13
\gdef_{\futurelet\next\s@@b}
\endgroup
\def\s@@b{\ifcat\relax\noexpand\next\expandafter\sb\else
\expandafter\s@@b@\fi}
\def\s@@b@#1{\sb{\futurelet\next\sb@#1}}
\def\sb@{%
\ifx\next\space@\def\next@. {\futurelet\next\sb@}\else
\def\next@.{%
\ifx\next f\mkern-\thr@@ mu\else
\ifx\next j\mkern-\tw@ mu\else
\ifx\next p\mkern-\tw@ mu\else
\ifx\next t\mkern\@ne mu\else
\ifx\next y\mkern-\@ne mu\else
\ifx\next A\mkern-\tw@ mu\else
\ifx\next B\mkern-\@ne mu\else
\ifx\next D\mkern-\@ne mu\else
\ifx\next H\mkern-\@ne mu\else
\ifx\next I\mkern-\@ne mu\else
\ifx\next K\mkern-\@ne mu\else
\ifx\next L\mkern-\@ne mu\else
\ifx\next M\mkern-\@ne mu\else
\ifx\next P\mkern-\@ne mu\else
\ifx\next X\mkern-\tw@ mu\else
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}%
\fi
\next@.}
\makeatother
\begin{document}
\(\omega_{jt}\) (enabled)
\catcode`\_=8
\(\omega_{jt}\) (disabled)
\end{document}
Now you just have to fix all the kernings.
