I'm currently using Formula1 wax and a rubbing compound bought from a local automobile shop. The rubbing compound works well for minor and thin scratches. But except painting, there is no other way to remove deep scratches i think so.
For minor scratches use Scratch Out. It's rubbing compound suspension. Won't harm paint like rubbing compound. Also helps remove oxidised paint. Easy to apply. Waxing kinda effect, but they recommned waxing after using it. Use 3M liquid wax to wax as 99% of the Carnauba wax [esp in yellow can] are duplicates. Liquid wax is easier to apply than canned wax.