I posted a python script to use from ArcGIS here:
Exporting 3GB ArcGIS Raster to KML without losing resolution?
KML is uncompressed KMZ. The output here will work in either application. Georeferencing the scans could be done any number of ways; write a world file manually, use software. You can do it in Google Earth. But I feel the interface is very clunky and limited.
The different models support different numbers of tiles. You have to look at this limitation, the extent of imagery you want to use, and the minimum resolution you want to use. Then you need to possibly create multiple files from your original imagery, process each section of imagery with the script tool, and transfer the files from a laptop to the GPS as you need them (Garmin only supports one "Custom Map" at a time). Many of the *map models only support 100 1024x1024 tiles. The Colorado and Montana support more. I experimented with changing the tile size to 2048 x 2048 and that seemed to still work and allow for quite a bit more data at a time.