¿Cómo usar el espacio vacío producido por facet_wrap?

Tengo una trama facetada que forma unn x m cuadrícula. Por diseño, la última celda (inferior derecha) siempre está vacía, por lo que me gustaría utilizar el espacio adicional agregando otro objeto ggplot. Mi solución actual depende de bajo nivelviewport enfoque, que no es muy elegante y requiere un poco de codificación para la posición y el tamaño.

En cambio, supongo que el espacio vacío es accesible de alguna otra manera, probablemente congridExtra?

Aquí hay un ejemplo mínimo den=m=2. Tenga en cuenta que los bordes no están alineados correctamente, por lo que se requiere un poco de trabajo adicional para ajustar manualmente los parámetros de la ventana gráfica, lo cual es una molestia, especialmente si(n, m) cambiar después.

library(ggplot2)
library(grid)
p <- qplot(displ, hwy, data = mpg[mpg$cyl != 5, ]) + 
       facet_wrap(~ cyl, nrow=2)
q <- qplot(date, unemploy, data = economics, geom = "line") + 
       labs(x = NULL, y = NULL)
p
print(q, vp=viewport(0.75, 0.275, 0.45, 0.45))