Same issue here with BCM94352Z (Dell DW1560). After waking up, there are two BCM20702A0 entries shown in ioreg(XHC)/system info(USB). My situation is similar to OP -- working sleep (_OSI patched), native power management (ssdtPRGen) and correct configuration of USB ports (USBInjectAll w/ SSDT).
I've tested all recent releases of BrcmPatchRAM (2015-1101 to 2016-0705). But none of them avoids the duplicated entry issue. I also compiled a debug version of master branch on github but couldn't find any useful hints from debugging log. One interesting thing is that even using a USB dongle (IOGear BT 4.0 with same chip BCM20702A0), the entry will be duplicated after waking up. And if I remove the dongle, one entry disappears but the other one still exists, which is quite weird.
Some users also have the same issue:
[1]
http://www.tonymacx86.com/threads/bluetooth-bcm20702a0-problem-usb.185785/
[2]
http://www.tonymacx86.com/threads/bcm20702a3-v14-c5747-bluetooth-is-broken-after-waking-up.197355/
Post [1] solves this "duplicated entry" issue by "disabling XWAK in DSDT". But my DSDT does not contain "XWAK" at all. [1] also mentions using FakePCIID_XHCIMux. But my laptop is skylake 100-series w/ i7-6500U which does not have USB 2.0 controller. Post [2] does not completely solve the issue, which reappears randomly.
My current workaround is to use the non open-sourced injector "BTFirmwareUploader.kext" (v3.0.5, latest v3.1 not stable) which does not have such "duplicated entry" issue.
Sorry that I couldn't provide all required logs/files for reporting at the moment. I'll later start a new post and provide all detailed information. Thanks!
Edit: Upload all required logs/ioreg dumps and EFI/CLOVER files. Applied DSDT patches can be found at [3]. Specs of my laptop is in the signature.
[3]
https://bitbucket.org/linusyang/hp-envy13-dsdt/commits/branch/master
@RehabMan, could you please have a look? Thanks a lot for your time!