I have a 2005 Avalanche, and I agree, there aren't any really good options for mounting antennas. In the past with previous vehicles, I have used L-bracket NMO mounts. I always have been reluctant to install an antenna on the roof, which of course requires drilling the sheetmetal, and possibly having a leak and water damage if the seal is compromised somehow. I've seen others in the past have bad leaks on their vehicles!
Another concern of a roof-mount antenna is low clearance, such as parking garages.
With my Avalanche, I ended up giving in and drilling my roof, installing a rubber whip style COMET SBB-1 dual-band antenna. I figured this would help in the event I forgot (and I have a couple of times) to remove the antenna before entering a parking garage. The problem I found with the SBB-1 turned out to be high SWR over 2.0:1 and as high as 3:1, which is not tunable, and poor performance due to it being a 'compromise' antenna. I lived with it for about 2 years and recently decided to try another antenna, the SBB-5 COMET. It has the capability to 'fold-over' near the base, considering you remember to do so. Heheh. Plus it is a VHF 3.0dBi 1⁄2 wave, UHF 5.5dBi 5⁄8 wave antenna with superior performance and performs GREAT on the roof of my Avalanche compared to the SBB-1. The SWR is basically flat where I need it and even out of the typical ham band it is still below 1.7:1. Here is info on the COMET antennas mentioned above.
NCG Company::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
If you consider installing yours on your roof, it's really easy, once you get past drilling the starter hole! Heheh. I accessed the roof by removing the dome light at the rear of the headliner. Routing the coax is easy too. My radio (Kenwood dual band TM-D700) is mounted under the back seat on the floor so the cable run is farily short and easy to do.
This guy has it figured out though! Check this out..