Nice, except that I don't think spell_chain is needed, in the end is the same quantity of code we have to make if we use the spell_chain or directly the spell_bonus_data entries.
Also I would like to discuss the following suggestions and corrections, Living Bomb is just obvious:
-- Living bomb correction, before DD and DoT coefficient in one spell, but explosion is separate
DELETE FROM `spell_bonus_data` WHERE `entry` IN ('44457', '44461', '55361', '55362');
INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`, `ap_bonus`, `comments`) VALUES
('44457', '0', '0.2', '0', 'Mage - Living Bomb DoT'),
('44461', '0.4', '0', '0', 'Mage - Living Bomb Explosion Rank 1'),
('55361', '0.4', '0', '0', 'Mage - Living Bomb Explosion Rank 2'),
('55362', '0.4', '0', '0', 'Mage - Living Bomb Explosion Rank 3');
-- Some coefficients added
DELETE FROM `spell_bonus_data` WHERE `entry` IN ('5570', '61391', '33745', '49821', '53022');
INSERT INTO `spell_bonus_data` (`entry`, `direct_bonus`, `dot_bonus`, `ap_bonus`, `comments`) VALUES
('5570', '0', '0.2', '0', 'Druid - Insect Swarm'),
('61391', '0.193', '0', '0', 'Druid - Typhoon'),
('33745', '0', '0', '0.01', 'Druid - Lacerate'),
('49821', '0.2861', '0', '0', 'Priest - Mind Sear Trigger Rank 1'),
('53022', '0.2861', '0', '0', 'Priest - Mind Sear Trigger Rank 2');
About the druid ones, I'm not sure about Lacerate, it can be it is hardcoded in damage calculation per combo point and needs to be updated there?