I’m not sure that I know what you would still like to optimize? Do you want the implementation to be even shorter? In that case you could create another function that directly includes limits() etc…
#let varinjlim(body) = $ limits(lim_#baseline-subscript(body)) $
$ #varinjlim[$i in I$] $
If you want to set the baseline shift for the entire document, you can use a state variable that is used by default unless you specify a certain shift.