Transient current limiting
I am looking for a simple solution where during the transient USB
  current is limited to 500mA. I have seen some ICs that can do this but
  I prefer a discrete solution.


In order to limit current a circuit needs to measure current. This is usually done with a series resistor in line with the load. But, the resistance has to be small so that it doesn't not "drop" too much voltage in normal operation. A 0.1 ohm series resistor will drop 50mV at 500mA and this is probably acceptable.

However, to measure this small volt drop accurately (in order to determine current), requires a fairly decent amplifier and to make this from discrete components is, in my opinion, foolish.