The key is practice, practice, and practice!
Try practicing in all possible difficult situations, such as parallel and angle parking, front and back in (including on the left hand side of the street for some one way roads). Try to find some less busy street parking with some buildings/shops that have big windows/glasses facing the street you're going to park, so you can check on the reflections for how accurate you're moving back and forth. Also look for some "reference points" to memorize the space you need to leave, for example, when you can see the top of the license plate of the car in front of you is lining up with the edge the windshield and dashboard, it's about 2 ft apart, so you can estimate how closest you can get before crashing into it. Similar method to practice on side mirrors and backing up.
If a car is going to hit me, first I will horn, second I will check my mirror to see whether I could move.
Once I was in my friends car when the truck in front slip backward, he just screamed inside the car without doing anything. Finally the truck hit us and then drove away quickly. Afterward, we all asked him why he screams instead of hitting the horn. The truck wouldn't able to hear him screaming at all.
Next time at Crystal, don't follow the car in front closely onto the slope. I always left the space for the opposite car to crossover and never stop at that spot.