Although I haven't done any overlay with satellite data, once I had to recover some methods of the basemap instance created by PyART (some simple modifications because the graphics defaults to CONUS).
Below is a part of the script I use, though I do not mess with projections because I didn't need to.
By the way, I'm switching to cartopy for satellite plotting so I'm really interested on what follows this conversation.
display = pyart.graph.RadarMapDisplay(radar)
fig = plt.figure(figsize=(15, 10))
if var == 'TH' or var == 'total_power':
display.plot_ppi_map(var, sweep=0, vmin=-10, vmax=70,
cmap=pyart.graph.cm.NWSRef, resolution='h',
embelish=False)
# elif something else not relevant for this
display.basemap.drawcoastlines(color='0.8', linewidth=1.25)
display.basemap.drawcountries(color='w', linewidth=1.25)
display.basemap.drawstates(color='0.8')