Not to get technical, but you are mixing two terms, pre-ignition and detonation.
Pre-ignition happens when something other than the spark plug ignites the fuel mixture, such as sharp edges in the cylinder or head that may glow red or carbon deposits. Since you car is probably only a year or two old, I would probably rule out pre-ignition.
Detonation is basically an un-even burn of the fuel mixture. If you get too aggressive with your timing, the combustion process starts earlier in the combustion cycle which raises cylinder pressure which increases temp. If you don’t have enough octane to evenly and slow down the combustion burn, you get “pockets” of ignition instead one even burn.
My recommendation would be to back off the timing (e.g., Diablo 91 Octane Tune) until you find some good gas or find a way too cool down the intake temps or both. A CAI won’t do it alone, so you really need to get better gas or install a water/meth kit.
Not really, you just need to find a happy medium between octane and timing. Either back off the timing or increase your octane.
On your next tank, try 93 octane or purchase some octane booster. For the long term, you could install a water/methanol injection system. The water helps keep temps down and the methanol helps even the burn. Over the long run, it could be cheaper than paying for 91/93 octane gas all the time.
Even though the Mobil pump has a 91 sticker on it, doesn't necessarily mean that the fuel your paying for is 91 octane. Although, you could have just gotten a bad tank load as gas stations do get bad loads once in a while.