So, this is the spam macro:

/assist focus
/run SetCVar("Sound_EnableSFX","0")
/click MultiBarRightButton1
/click MultiBarRightButton2
/click MultiBarRightButton3
/click MultiBarRightButton4
/run SetCVar("Sound_EnableSFX","1")

And it calls...

1) /castsequence reset=combat flame shock,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

3) /castsequence reset=combat chain lightning,,,,,,,,,,,,,,,,,,,,,,,,,

4) /cast lightning bolt

It should work fine.
I'd consider putting /use 13 and /use 14 in there, for automatic trinket use, on every cooldown.
Similarly, consider including /cast Elemental Mastery in there too.

You can leave Lava Burst in the macro on Click2 or take it out.
Since you don't have it, it cannot fire, so it won't mess with your macro.
And then at 75th, when you get it, it's already built into the macro.

I assume, the commas are the correct number for your personal spam speed.

Head over to a target dummy.
Drop your mana totem, totem of wrath and wrath of air totem.
Drag the three spells out of the spell book.
Spam away with your macro.

Observe, the Flame Shock is not recast, until it has expired.
Add commas if necessary, to allow it to tick the full duration.
I'd consider changing this to reset=target, instead of reset=combat.
It can get "stuck" on this macro, with =target.
But, the recast is 6 seconds, which is relatively fast, and it will allow for a Flame Shock on target #2, without needing to wait for 18 seconds of commas.
Also, remove commas if there's a noticeable delay after Flame Shock finishes, before the next is cast.

Do the same with Chain Lightning, except keep the reset=combat.
Since this is a hard recast delay, and not something which we just don't want to recast.
Add or remove commas as necessary to tweak it.

For Lightning Bolt, you just need to test that it will fire off, while the others are on cooldown.
This is the fall through, so that's about all there is to that.