I see a lot of the same problems with the Pontiac engines on a forum I am a member. The problem can be a number of things of course, but start with the basics.
I get retarding the timing a few degrees helps with the detonation - used to do that as a kid. However, power suffers and
retarding the timing can put more heat into the engine as the burn time has been changed. Advancing the timing can actually cause an engine to run cooler - but of course a problem if it rattles even more.
First, timing chain and gears ever changed? As these wear out and get sloppy, it can affect timing because the opening and closing of the valves are changed. So you set the timing at the crank, but the cam is not where it should be with all the play. You can check this by simply pulling your distributor cap. Put the crank balancer at 0 degrees for reference, then by hand rotate the crank and watch for the rotor to move. As soon as it moves, note where it is on the balancer. Now move it backward from that point and watch for the rotor to move again. As soon as it does, note that point. Any more than 5 degrees at the crank is too much - gears/chain is worn. Read here:
Timing Chain Slack Test
Platinum plugs are a bad choice for older cars. They run hot and are designed for newer cars with their aluminum heads/engines. The extra heat of course contributes to detonation. Use the factory type plugs. You might want to even try 1 heat range cooler, especially in hot summer weather.
9.2 compression is pushing it on 87 octane, You should be using 91 or even 93. Cam specs play a big role in this. A cam can build cylinder pressure depending on its design - and I am not talking High Performance aftermarket cams. Some cams close sooner and have little overlap to build cylinder pressures at lower RPM's while others close later allowing for additional overlap when used on higher compression engines. This actually allows the intake and exhaust valve to stay open at the same time longer and blow some of the cylinder pressure out, thus lowering the cylinder pressure on a let's say a 10-to-1 compression engine to more like a 9.3 compression engine at lower speeds. At higher RPM's this all changes and the "lost" cylinder pressure is picked back up and power/torque regained. So you can see how a cam can affect cylinder pressure and this also ties in with the cam timing and a worn set of gears & chain.
Next, which is one of the most critical, is the distributor timing. Not just what you see at the balancer, but the timing curve. I assume you set timing with the vacuum line to the distributor disconnected and line plugged at the carb? Silly question, but some do time the engine with the vacuum advance connected not knowing to unconnect it.
Set your initial. Then, what is your total timing and at what RPM does it come in at? - initial plus the mechanical advance from the distributor weights. This test will also let you know if your weights in the distributor are working correctly or not. On a Pontiac engine, with ethanol blends, 32 degrees total seems to be the best with iron heads with some going 34 - 36 with aluminum heads. If total is coming in too soon, lets say 2,000 - 2,500 RPM's, you may want to change this and bump it up to 3,000 - 3,500 RPM's by using heavier springs, again, this higher RPM range seems to work good with the Pontiac engines and detonation problems. This will stretch the advance curve and can cure detonation woes while maintaining stock or even slightly advanced timing at the balancer.
Next is the vacuum advance. Is it working and how many degrees does it add? To check this, set your initial and with the engine at idle, plug the vacuum line coming from the distributor into a manifold vacuum source, not the carb, which is typically a "ported" source. A full vacuum source such as the intake manifold will pull the maximum number of degrees out of the vacuum can on the distributor. Watch your timing mark at the balancer - it will jump up as soon as you plug the hose into a direct vacuum source as it advances the distributor. Your FSM should tell you how much. With a Pontiac, it is about 16-20 degrees, so our initial at the crank is 6 and with the vacuum line hooked up will jump initial to 22 degrees - and the engine will usually run great. Again, this is at idle with no load and only a test to learn what your vacuum advance adds to your timing at maximum engine vacuum.
Why do we need to know this? If your total mechanical advance were let's say 34 degrees @ 3,000 RPM's, and you add vacuum advance of 16 degrees, you get 50 degrees of total engine advance when you let off the gas and the engine develops maximum vacuum. As soon as you hit the throttle, engine vacuum drops and the vacuum advance also drops proportionately, otherwise your engine would really be pinging with 50 degrees of advance. However, if the combined mechanical & vacuum advance goes above 50-52 degrees, you most likely have too much and this needs to be lowered. If the combined total is too far advanced, what can happen is that when you nail the gas or quickly open it up, you will get a momentary amount of pinging because it will take a second or two for the vacuum advance to lose its vacuum and retard the timing to a lower point that won't cause the detonation. You can install a different vacuum advance that meets what you may need if yours seems to be a problem as it is.
So knowing what your total mechanical advance is and knowing what your total vacuum advance is, you can then know what the combined total is. Your FSM should give you these specs. The vacuum advance is important in providing improved gas mileage
AND cooling your engine down when you lift your foot off the gas or use light throttle pressures when cruising.
That said, I would run 91 octane as 87 won't cut it. Ditch the platinum plugs for conventional type, check timing gears/chain for excessive play, check your timing curve and vacuum advance for their total settings and adjust if needed.