url_for isn't deprecated; it's passing a symbol to it that's deprecated. You can avoid this by wrapping a send() around it:
is_admin? ? send(:"admin_#{name_of_route}_url" : :"#{name_of_route}_url")
Seems like there should be a better way. At least put that stuff in a helper method.