I know this is a late response, but I'm just seeing this now. If you tested this out and it worked for you, then please post! I'd love to confirm your setup worked.
In one environment that I deal with, we do active/active on the ESX side of things and use balance-alb or balance-tlb on the QNAP. This worked fine for us. On the ESX side of things, we also created multiple vmkernels (on different subnets) for each physcial NIC and used a distributed switch for load balancing based on NIC load. It's working fine with full redundancy on connections (one to each switch), and getting 1gbps per datastore per host (2 x 1GbE NICs on the storage side per host).
Balance-rr can also work well, as can LACP in ESX with 5.1, but it requires managed switches that support those capabilities. If you want redundancy, then the switch also needs to be stackable to support cross-switch LAGs. Both options would generally do a little better load balancing job (or at least have more control), but the switches are much more complex. The other policies noted above work on pretty much any switch without switch configuration.