Using Group Policy Preferences is the way of mapping printers (and drivemaps) these days. Nothing even come close to the flexibility you have with the plethora of targeting rules.
We run a RDS environment with 600 users spread across 80 different locations. What we did was to build a single GPO targeting all the users. This GPO controls the mapping and deletion of 80 printers (one in each location).
We first do a delete printer action, where the printer is deleted if the remote desktop client IP doesn't match the range of the subnet to that specific site. Then we have a nearly identical mapping, where it does map the printer if the client IP is local to the subnet of the printer.
Regarding deletion at logoff: You should already be clearing out the profile folder when a user logs off (it's a GPO setting somewhere), and use roaming profiles. If you follow my scheme above then printers would be automatically deleted from the user if they're not matching the targeting rules.
I hope this gives you inspiration on how you wanna manage printers in your environment. Targeting rules inside GPP are extremely useful and powerful.