I think a nice option would be to allow buying an item as gifts and storing the purchase in ones account. It’s all digital so it shouldn’t be hard to track purchases. Then you can gift using one of the stored gifts at any time, abiding by all the gifting protocols.
Where I am going with this is purchasing an item that is on sale and gifting it to a new to Battlenet player. Unfortunately you have to be friends for at least 3 days before you can gift them. But game sales do not often last for more than 3 days or want to buy something last minute. So we are SOL for buying them while it is on sale.
If gifts purchases can be saved digitally and then gifted at a later date, that would be cool feature to implement.