I had that same frustration this week. Trying to generate geotiffs from arrays in Python. I found four libraries, all of which just wrap GDAL, all of which have the same quirky issues. Alas. :)
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.
Super obscure issues. When I try to use GDAL to build a geotiff from a bumpy array I get an underlying c++ crash of some sort. I'm not an expert. But it happens only when I try to do it within QGIS. It's something about the compatibility of numpy and gdals underlying c++ APIs.
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.
Could you share code and data for a minimal crashing example? This sounds like the developers would be glad to fix it. Both GDAL and QGIS have very active devs.