Heroes should have some base value (dependant upon their skills, level, loyalty, and 'fame') that scales as the game continues, and the factions empire increases - the same way resource values are calculated.
The maximum value of a high level hero should be in the area of 1-2 full turns of GDP. This would probably range anywhere from 1000-5000 later game. The total value should then decrease each turn by 2% each era (so in later eras where turns are more involved the ransom ammount decreases faster) that the prisoner is held, down to a limit of 25% the initial value. The mimimum value of any hero should be in the area of 150-200 (scaling with inflation) making low level heroes much more expensive early game than they would be later game, when there are much more of them.
In addition, it would be nice to see some effect on loyalty through imprisonment. For example, each turn (with the exception of 100 loyalty heroes) the hero is imprisoned their loyalty decreases by a small ammount (1-2). Each time a hero is released via ransom, that hero should gain a moderate ammount of loyalty with the releasing faction (10-15). Maybe even something like, each time a hero is excecuted the value of that nations army increases in the calculations of the AI, while slightly reducing relations (probably some decimal point per hero).