You can create multiple non-renewing subscriptions - one for each product - but then you have the same problem as with non-consumables in that you need a unique non-renewing subscription for each product. Alternatively, you can reuse a single non-renewing subscription (or have a single non-renewing subscription for each price point and offer to reuse the one for the matching price point) to handle multiple purchases wherein the user would purchase a subscription through IAP and then have an opportunity to assign a particular product from your catalogue to that subscription purchase (i.e. I purchase a subscription for photos of my older son and then three years later I purchase the same subscription for my younger son). This is identical to the Token approach with three differences:
1) A subscription gives the user repeated access to the purchased product during a fixed time period. The user may access that product over and over again during a time period but after the time period their access can be denied. A consumable gives the user access to a product a defined number of times and that number extends for ever and ever - it does not expire at a fixed time but rather expires only after it is used. Beyond these specific grants, your app can extend anything it wants beyond the number of times (for the consumable) or the fixed time (for the subscription).
2) When a user repurchases a consumable the app store says something like 'do you want to purchase....' without referencing the earlier purchase. When the user repurchases a non-renewing subscription the app store says 'You have already purchased this non-renewing subscription. Do you want to renew or extend it.' You are stuck with that description even though the Anderson family, having purchased the photos for their older son Tweedledee now wishes to purchase the same package, three years later, for their younger son Tweedledum - or wants to purchase a completely different 'product' with the same price point.
3) You are responsible for copying the purchaed product of the non-renewing subscription from one device to another device owned by the same user. YOu have no such obligation for a consumable. But in both cases it is easy to do that using the user's key-value file in their iCloud Account.