If you have a 1:1 mapping between array cells and pixels (no geographic transformations), just use any image format as intermediate. But I am interested what quirky issues you encountered. I found rasterio very nice to work with using numpy arrays.
I wish I was smarter and could debug further. Issue doesn't happen standalone but happens in a qt5 plugin for GDAL. I was hoping to find any other implementation of array to tiff in order to avoid this crash. Alas.
We heavily use GDAL/rasterio/numpy at work with no real problems.