None of these other methods will work. Even a person with the strongest willpower might one day want to sell their Bitcoin. That's why if you want to hold your Bitcoin long-term, send it to the wallet of someone you trust and agree not to get it back before a certain period. Another alternative is to send it to an address you created, store the key on a flash drive and put that drive somewhere you can't easily access. After a certain period, you can go there and get it back.
There's no other way. If your Bitcoin is somewhere you can reach easily, there's always a chance you won't be able to resist selling it.
There is no guarantee that person would give you the bitcoin back once they see how much they can potentially be worth.
I had read some cases where family members have done this and refused to give access to the wallet where the bitcoins are held.
The second method you had mentioned would probably be better than trust anyone even a close family member with your bitcoin.
Have also read some cases where people have buried their flash drives which held bitcoin on in their backyards. Well secured from the elements of course.