Ok here is the deal.

You pay for "up to 100mps" not 100. This is the scam all cable companies run. Generally the 50-100 range is dependent on infrastructure. Meaning a node 3 blocks away could be creating a bottle neck. It takes time to find the choke point and time = money. Generally the most understaffed of cable companies are the system techs that work on the main lines. So pulling them off an outage, new lines or intermittent issues for a nerd complaining about max speeds is such low priority you are usually stuck with it.

The only way you can get this fixed is to keep rolling the dice on getting a tech out there that gives a shit. Keep rolling till you get a contractor and not an inhouse employee. Contractors get paid for every step they do, so they will gladly (if they like making money) replace all the lines from the tap outside your house to your modem. Have him get the Tx signal perfect. Generally they like it between 35-54. See if he can shoot for 45-48, this effects speed big time. He can raise it easily but lowering it might require a system tech so can take a few days.

Talk with your neighbors, Multiple issues in 1 grid usually get faster and thorough response. If you arent happy with 50 but everyone on your node is fine with it, you are shit out of luck.

TL:DR: there is very little you can do to get the company to fix this, as its low priority, you have to stay on them constantly and be fucking nice as shit to a tech. When i was a tech if you bitched at me, you would have 100 mps up until i pulled out the driveway then down to 20.