1. crop your image as desired and resize to 100x100, making sure to select bicubic sharper on the resample dropdown menu. this will help to ensure that your icon doesn't come out blurry.
2. image > auto tone, auto contrast, auto color. auto contrast almost always improves the image, but auto tone and auto color are hit or miss. if they make the image look too blue, too yellow, too anything, skip them.
3. image > adjustments > brightness/contrast > auto. this step, like auto tone and auto color, is hit or miss, so don't be afraid to skip it.
4. layer > duplicate layer twice.
5. set the top layer ("background copy 2") to screen and lower the opacity to 15%. you can adjust this number to fit your needs.
6. set the middle layer ("background copy") to soft light and lower the opacity to 15%. again, you can adjust this number.
7. layer > merge visible.
8. image > adjustments > levels. set the first box to 5.
9. layer > duplicate layer.
10. select your duplicated layer ("background copy") and go to filter > blur > gaussian blur. set the radius to 1.5 pixels.
11. set your duplicated layer to darken and lower the opacity to 50%. you can adjust this number, but i find that 50% works best for most images.
12. layer > merge visible.
13. image > adjustments > levels. set the first box to 10.