You are not doing the math right. If you assume your tax bracket will be the same now and in the future (and you can't afford to max out your retirement accounts), Roth is exactly equivalent to traditional.
S = amount saved
G = investment growth factor
T = marginal tax rate
With a traditional account, you invest the whole amount S pre-tax, and it grows by a factor of G, so you retire with S * G in the account. Then when you withdraw, you pay tax, so you are left with (1 - T) * (S * G).
With a Roth account, you invest after paying tax, so you only start with (1 - T) * S in the account. Then it grows by a factor of G to (1 - T) * S * G by the time you retire. You don't pay tax on withdrawal, so that's the amount you get to keep — exactly the same as the traditional account!
The number of dollars of tax you pay is higher with the traditional account, because your investment has grown over the years. This doesn't matter! All that matters is how much you get to keep. Assuming you will invest the same way in either account, the tax rate T makes all the difference here. The lower T is at the time you choose to pay tax, the more of the money you get to keep. Therefore you should generally favor paying tax at a time when your rate is lowest. If that time is now, go ahead and make Roth contributions. You should even convert from traditional to Roth if you're pretty sure your tax rate is lower right now than it's ever going to be again. However you seem to indicate that you expect your tax rate to go down in retirement, so you should keep your pre-tax dollars right where they are.