You'd need the recipient user to accept the gift subscription since just giving a user a subscription against their will could be a possible problem and there could be strange conflicts (e.g. already gifted a subscription or subscribed manually). Since you're wanting gift subscriptions then CBSubs Family Plans will never be a solution since it's for sharing subscriptions and not buying them for someone.
I'm honestly not sure how to best go about this. An entirely different plugin built from the ground up to gift subscriptions would be the best solution. I've added a feature ticket to look into developing such a plugin for a future release since it's a good idea.
forge.joomlapolis.com/issues/8869
For now I think maybe you could do this without needing to generate coupons. The below is probably how I'd do this.
1. Create a "cb_gifts" integer field. This will contain the number of gifts I have to give away. If there are multiple plans then use "cb_gifts_PLAN_ID_HERE" name structure.
2. Create a CBSubs plan to purchase these gifts. This would use CBSubs Fields integration to increment the "cb_gifts" field by 1.
3. Create a Custom HTML field and use CB Conditional to condition against the viewing user to see if the viewing user has cb_gifts>0. Next add a condition to check if the displayed user is already subscribed to the plan being gifted. This ensures the field can only display if there's even something to gift.
4. Create 3 auto actions. 1 is type CB Paid Subscriptions and gives a subscription to the action user, no triggers, and turn off direct access. 2 is type Field and will reduce cb_gifts by 1 for the viewing user (User: Self), no triggers, and turn off direct access. 3 is type Action and all it does is call Action 1 and Action 2, but it MUST have the same conditions as the cb_gifts field, and for Output use a redirect to redirect back to the displayed users profile.
5. In the Custom HTML field you'd just create a button that links to Action 3. Now they just need to click that button to give a subscription to the displayed user.
This is just a quick rundown of how I'd go about it. It automates the entire process and allows easy gifting directly on profiles when viewing those profiles. This also eliminates generating coupon codes. More steps, processes, etc.. can be added to all of this using auto actions. For example you could create a database table to store gifted subscriptions, add it to Action 3 as done with 1 and 2, then display it using CB Query Field.