Large static arrays need to be stored in RAM, at least temporarily, before being passed to sendSysEx.
Those could be declared as PROGMEM to be saved in Program Space, and it would be fairly easy to have another sendSysEx implementation that reads one byte at a time from Program Space instead of RAM, effectively saving lots of memory, at the cost of extra program size and execution time.
http://www.nongnu.org/avr-libc/user-manual/pgmspace.html