TL;DR Yes, Heavy Balls are usually better than Timer Balls for catching legendaries.
The multiplier depends on the catch rate of the pokémon as well as the weight of the heavy pokémon. In a few cases, for very heavy pokémon, you get a better multiplier than even the 8x Level Ball or Love Ball.
Note that when a Heavy Ball is thrown at any pokémon weighting at least 451.5lbs, it always gives a better than 1x chance of catching the pokémon, but for pokémon with high catch rates (i.e. those who are easy to catch), the improvement is much less.
Here are some numbers: (it means that the Heavy Ball is x-times as effective as a regular Pokéball)
Dialga 2.3x
Kyogre 7x
Lugia 7.6x
Rayquaza 7.6x
Regirock 7.6x
Registeel 7.6x
Groudon 9x
Arceus 11x
Giratina 14.3x
Heatran 14.3x
Regigigas 14.3x
In short, a Heavy Ball is best thrown at a hard-to-catch heavy pokémon.
Unfortunately Heavy Ball can only be made with a Black Apricorn, it's a long process. However Timer Balls can be found in Goldenrod Store and you can buy as many as you want. I think this is the reason.
Source Thonky and Smogon.