"Since I was upgraded to M500 the speeds and stability haven't been as good as M350, I see lots of posts about this same issue on here."
Probably because the harder you push a piece of equipment, the less fault tolerance it has. We know from comment in these forums that VM did some end user field tests up to about 690 Mbps with the Hub 3, and I'm guessing that performance wasn't reliable enough to achieve a 750 Mbps speed tier, hence the gap between 500 and 1 Gig offers (where available). Even at 500 Mbps, I suspect that's really stretching the hub, and anything slightly flakey could tip performance over the edge. But that won't be what your "all yellow" BQM is showing, I would be fairly confident that's a cable or network issue, and it is so bad I'd guess that VM know about it, and hopefully there's plans in place to fix it.
Have you had a look for evidence of a cable fault in your hub status page? Connect to your hub, don't log in, but click "Check router status", then have a look at the tab "Network logs". If that's full of recent critical errors with words like T3 timeouts, and/or Synchronisation error, and/or RCS Partial service, and/or No ranging response, then your cable connection probably has a fault. All messages like DHCP Rebind or Renew can be ignored, and if there's a few critical errors, but not more frequent than every four days of so, then that of itself doesn't confirm that there is or is not a fault..
And whilst you're you're in Router status, take a look at the tab "Downstream". There should be 24 channels, each with SNR values above 34 dB, and power levels should be between -5 dBmV and +10 dBmV, (ideally tightly clustered and closer to 0 is better than at either limit). Error numbers should be low for pre-RS errors, but as they count continuously since the last on/off cycle, its difficult to give advice without knowing what the error count is and when the hub was last power cycled. If there's any number of post-RS errors then there has been some form of serious trouble, but obviously we need to know when the hub was last restarted.
Next, look at Upstream. The power levels (as the hub shows them) should be between 3.4 dBmV and 4.9 dBmV, there should be four channels, all of them should be shown as running at 64 QAM. If this is not the case, then there's some form of upstream noise that interrupts the synchronisation of hub and street cabinet, but that usually appears to customers as poor downstream performance.