Does Afrihost have a caching system in place, like MWEB, WA, IS. This will take a lot of strain from their international capacity. Also, do you allow local content to go through and not get shaped and throttled, like some of the other ISPs. I think your current shaping system is crap and not at all what you are advertising. Would be great if you actually monitor the network capacity and then dynamically shape customers, depending on their usage per a certain term. So you basically have a priority shaping based system that shapes dynamically. I know this will be difficult to implement, but do checks at a certain interval.
It seems you don't have enough capacity and are taking the strain, or your systems are too pathetic and can't manage the amount of bandwidth or users. This might explain why some people always get full line speed, while others get nothing.
Another thing that is still present, the internet goes completely dead at random intervals, but it seems it is usually after midnight. The connection is still connected to Afrihost, but nothing works on the internet, and then after a few minutes the internet works again.
Where is all the planning you put in when you planned to switch to MTN.