Consider revising the io module to use Rasterio instead of gdal
Dave recommended that the Rasterio python library may be better maintained and more pythonic, so at some point I should look into how much work it will be to move to using that instead of gdal to handle our GeoTIFFs.
For reference: The Rasterio docs