First, what happens if you let it idle, will it continue to run indefinitely? This is important. Compression seems a little low even for a Ryobi - does your compression tester have a shrader valve at the tip of the spark plug boss adapter? If not, the hose acts like part of the combustion chamber and provides a false low reading.
Did you test the primer?
Is the primary fuel line feeding the carb. staying flush with fuel, or does it get bubbles etc.?
As for the exhaust...
A very plugged muffler will usually prevent an engine from running at all, if it does
usually no more than idle. It's progressive...the less it's restricted, the faster the engine can go as an engine is a pump.
Given the cost of most mufflers, I usually opt to replace them when they're that bad.
However...
If the muffler is truly restricted, you can heat it with a propane torch, or even oxy-acetylene (but with oxy-acet. caution must be used lest you melt it). This will dry out the carbon. Then after it cools enough, you can smack it on the ground/bench on it's flat surfaces, and shake out the shit. Hold the muffler with needle-nose vise grips or such when heating - if you clamp it in a vise the vise will suck too much heat away from your object at hand.