well, RT-N16 is based originally on 2.6 I believe, that's why it works ok, but with wl500gP situation is different, the most stable situation with this router is on 2.4.20 kernel, low CPU load, irq usage etc. But the problem is I can't use it due closed-source wi-fi driver which is only available for 2.6 branch.
I partially solved some issues with SLAB allocator and tuned kernel config a bit, but I think it's still not perfect under load.
For example I'm running few openvpn tunnels on 2.4.20 kernel they were eating 0.20 0.10 maximum load, but on new firmware with 126.96.36.199 0.50,0.35,0.22.
Also there is huge load when you're downloading something from LAN, on default options CPU is reaching 100% load. If I didn't alter kernel config it'd be useless (i can't open any site and can't use anything).
Actually my wl500gP equipped with BCM43222 as I noted before + I flashed WL500W firmware, so it's like yours WL500W.
Regarding opkg I just tried it and I think I'd stick with oleg's optware, just because I'm so used to it and I don't want to break existing packages.