I've given Bitcoin as a gift to family members but they were already VERY interested and knowledgeable - and very aware of any scams they may encounter.
I think giving money/giftcards/bitcoin as a gift is kind of a cop out and shows very little thought behind your gift. Always prefer to give something from my heart that I know people will really cherish.
As I said, though - they were already very interested in Bitcoin and in every instance my gift was very appreciated and to this day brought-up as they've furthered their holdings and love for Bitcoin. Now as far as cash and gift cards, I agree with you and refrain from giving those as gifts unless the odd person just loves getting cash in lieu of presents.