Переучить VirtualWire на использование Timer2? Учтите, что Timer2 8-разрядный, его может не хватить. В теории, нужно заменить все регистры, относящиеся к таймеру, в функции vw_setup(), заменить обработчик прерывания SIGNAL(TIMER1_COMPA_vect) и поправить функцию _timer_calc(), т.к. для разных таймеров значения предделителя разные.
Ещё можно поискать другую библиотеку для WS2812. Вот эта, кажется, вообще не использует таймеры, только ассемблерную магию:
https://github.com/cpldcpu/light_ws2812