An alternative design here would be to add some functionality to the accelerated DHT client that instead of having separate bulk provide and put methods (e.g. https://github.com/libp2p/go-libp2p-kad-dht/blob/cd05807c54f3168f01a5a363b37aee5e38fee63d/fullrt/dht.go#L896) would take them together along with some priority ordering and then both record types could be funneled into the same pipeline. However, this is likely more work than the initial proposal.
In the event that there are many IPNS records it could be useful to have the ability to publish them in bulk as is done with the Batched Provider system for CIDs https://github.com/ipfs/go-ipfs-provider/blob/4aff05e6304c6e222c4ff7ebbb6c6f8df6d8aa17/batched/system.go#L57.
An alternative design here would be to add some functionality to the accelerated DHT client that instead of having separate bulk provide and put methods (e.g. https://github.com/libp2p/go-libp2p-kad-dht/blob/cd05807c54f3168f01a5a363b37aee5e38fee63d/fullrt/dht.go#L896) would take them together along with some priority ordering and then both record types could be funneled into the same pipeline. However, this is likely more work than the initial proposal.