The circuit you have is extremely common, and would work fine if you drive it right. There are a few options you might consider:
-Pulse transformers: there are tiny transformers made specifically for driving high-side gates. You won't be able to get 100% duty cycle, but you could use double the normal voltage and cap it at 50%. This is probably not the best option for your application, but it's simple to use if you just want to see something working.
-Carrier drive: use a pulse transformer with some kind of rectifier / resistor / capacitor circuit, and use an AC signal to turn the switches on. This one requires more calculations, but it has a lot of potential when you do it right.
You could also attach a small floating power supply to the high side and use it to power a current-controlled or optically-coupled drive. Optocouplers are easier design-wise, but don't respond very fast (they're good for a couple kHz at most).
Avoiding shoot-through is usually done from the control side, by inserting a little delay between the time when each direction is on. Assuming you're using a digital controller, this is fairly straightforward to do.
One other option, IF your supply voltage is lower than the MOSFET gate-source ratings, is to use P-channel MOSFETs at the high side, and just invert the control signals going to them.