What do you mean you cannot earn them? PvP tournaments frequently have them, and you can get them for low points. You can even arrange some friendly hits to exchange some Bonnies or Marauders for points. Two or three tournaments should be enough to get 100 idols that you need to research Code of Honor.
Also, it is not true that "can not [...] purchase them in packages": https://prnt.sc/oxfcbv. They're not very common, but you can buy them if you watch out for them.
And you don't need idols for haven protection. You can buy Full Protection for rubies and save idols. That's equivalent to buying idols for rubies.
Further, why even use Full Protection? Spend down and turtle your units. If you're serious about playing, buy etchings instead of Full Protection and build up your harbour, so it protects 70k of your res. Who cares if someone hits your empty have? What do you lose in that case? No units to die, res in harbour (5% is close to nothing),...