re: 33k shield resistor: Yes, it's good to put a pad there for shield to ground and then you have the choice to short it with solder or put a resistor, a cap, or a ferrite bead there if you find you need to. What you eventually end up using is more often an environmental decision. How will it be used? Will it be in a RF noisy environment that is coupling lots of noise into your system? Or is the device an RF generator that can radiate into the environment? There are many situations. Just make sure that the pad you place is an 0805 package pad, not 0603. 0805 is large enough to accommodate most things you might want to put there.
An ideal system shield is different and separated from the system ground, and the shield (as a system) is designed as a low impedance path to earth ground. You want it separate, so that HV ESD spikes on your vcc and data lines are shunted into the shield and the metal case, and to earth ground, going around your device electronics. But what if you don't have an earth ground, then what should you do? This is where some say connect shield ground directly to system ground, and allow HV ESD and EMI to ride on your system ground. This actually raises your device's system ground during the ESD event, but because the ESD event is a common mode event, it raises everything, so your device doesn't really care, everything keeps working, the spike is shunted to ground and dissipates on your ground plane. This is very good, actually. It's the same with any RFI conducted in, your ground just floats up and down with the conducted RF energy and your device just keeps working. What you are trying to do with the SHIELD-GND connection is to get both HV ESD spikes and low voltage RFI that is coupled in via the voltage and data lines to be quickly shunted to (earth) ground with as low-impedance path as possible. I put "earth" in brackets because that is the ideal destination, but in systems that don't have an earth, then the system ground is the next best place to put it. And this is also why some engineers like to use a parallel RC to connect the shield ground to system ground. The resistor provides a DC path for the shield to system ground, to keep these two grounds at about equal potential, and the capacitor shunts any conducted RF noise (RFI) to ground.
BTW: in this scenario, your ESD protection diodes should ideally be on the shield side, connected to shield ground and VUSB, not on the system ground side or VCC side
The downside of directly connecting the USB shield to your system ground is that it can cause the USB shield to become an antenna for any ground currents created by your device and riding on your device's ground plane. This is mostly going to be a problem at higher speeds and with higher device currents, for example a big FPGA board. At your lower speeds, and with your layout (see below, re: decoupling caps) you probably won't have much switching currents running on your ground plane that can get conducted into the USB shield anyways, so you can safely tie them together without worrying about it becoming an antenna. However, even a single resistor here will help attenuate these ground currents if you do find that you have them in your final design.
In my opinion, however, my best practice has been to assume that, in an ideal situation, the shield will be connected to Earth Ground at the PC HOST end (or at my own end if I have an earth ground), so I use a 1 Meg resistor and 0.47u capacitor in parallel at my DEVICE end. This combination provides a low-impedance path for shunting high-frequency RF noise to ground and a DC path to keep the shield and ground at about the same DC potential. Then make sure to do all the right things on the system ground planes to reduce high-frequency ground currents on my planes so the device does not become an RF transmitter. If I can't reduce conducted EMI originating on my device, then I'll use a ferrite bead to connect the shield to ground, thus blocking any RF energy from reaching the shield. This has the downside that an ESD event or conducted EMI into my device will cause it to fail with data errors since the system GND can't rise up with the common mode voltage. The device needs to recover from the data errors at the upper protocol layers then, and if this is a frequent event (i.e. the environment it is operating in causes this to be a frequent event), then it can seriously degrade system performance.
Regarding your decoupling caps, they are placed well enough. The ground traces on the top are short and when the device needs current in a hurry it will source it via the cap, into the VCC pin and out via the GND pin back to to the cap and then reach the GND plane. This is very good, since it keeps this HF switching off of the ground plane and keeps it all on the top traces only. The goal here is to reduce the size of this loop, which will reduce EMI and ground bounce due to trace inductance. That's why you often see decoupling caps loaded on the bottom side of PCB's, since it makes the smallest possible loop for these HF switching currents. In your case I think you'll be OK with what you have, and you won't need to do anything on the bottom (so you can keep your bottom side free of parts).
Yes, the crystal caps are load caps, not decoupling. They can go to ground directly. The other trace should be removed and connect the ground pin directly to the ground plane.
re: SW1, shortening the two pins by 0.2 mm to make some room for routing a trace won't cause any issues, because you are using a gull-wing package, so the solder is mostly at the outside ends of the pad and there's enough pad left to make it work. I would not recommend it for a QFN package (no leads).