Different methods of traffic shaping other than Simple Queue

So I’ve finally given up hope on simple queues after testing RC6. We are a large ISP that uses Mikrotiks to control the speed limit. We’ve noticed that when setting the bandwidth limits to over 5Mb, it simply doesn’t control it right and we need to constantly bump it up higher and higher to get the rate.

Example: 15Mb Download / 8Mb Upload Burst, with 4Mb sustained will only see 9.5Mb download, and 5Mb upload. Nothing we’ve changed will fix the problem. We assumed the since some Mikrotiks had over 300 queues, that it was just overloaded so we upgraded to RB/1100AH. Still no fix.

Is there any other methods such as queue treeing or PCQ that would work for this application? We have about 7 different download / upload speed plans, and about 100-400 queues on each Mikrotik. Our customers are assigned a name and IP address on each simple queue. Burst speeds we have set to 10-20 minutes until it goes back to the sustained threshold rate.

REALLY appreciate any help with this, I want my customers to see advertised speeds and keep them happy.

I haven’t use simple queues since a long time, and have moved to queue tree. The queue tree looks a bit complicated when you first start, but it is not, once you learn it, it is pretty easy. My network is not that big, I only have 10Mbps to manage in total and distribute it to my small LAN (some 15 PC-s).
You should pay attention to the queue size as well. If you see packet drops on the queue you have to increase the queue size, which on the other hand will increase latency. Also, I don’t know how you test the queue, but I would not recommend anything like speedtest. Speedtest is only indicative, but it’s not real life. The best way should be some torrents, or any kind of download/upload.