What if we made a smart system that revives the dying hero after a set time dependent on their level - i.e. (3.25 * (Level of Hero)) seconds.
But also, instead of making that the sole way to revive your hero, keep the current revive function (Reviving your hero for gold at your base). At later levels, it will be worth it to pay the extra gold to revive your hero, because it will be faster than waiting for the timer. This idea will make the penalty for fuck-ups early game less detrimental. However, it won't take away from the late game. In fact, late game, ideally you would want to revive your hero the same as you do now. Otherwise, if you waited for a timer based at say.. your level of 20.. you would have to wait a long time. If your being attacked, you wouldn't want to wait for it obviously. So allowing the person to pay to revive their hero at that point would make them feel like they were doing something extra to save themselves from being eliminated instead of just waiting to die. Essentially they would feel less helpless. In other words though, this idea will give you another option/choice, and generally I believe choices make games better.
To just give you an idea of the numbers..................
Using my example of (3.25 * (Level of Hero)) seconds to revive your hero....
Early game (lvl 1): 3.25 seconds
Mid game (lvl 10): 32.5 seconds
Late game (lvl 20): 65 seconds
---Tyler (Jeriko)