How to Improve Photos using Photoshop
Photoshop is the industry standard for photo editing among photography, image editing, and photo restoration industries. There are some free alternatives, however they are not nearly as comprehensive and detailed.

Improve your Old Photos
First, you need to open the image in Photoshop. Using a scanner and importing the digital file provides the highest quality.
Create layers to begin editing. Once the image is imported, layers can be duplicated and then worked on using filters brushes and color enhancements. If the image is too dark, then the screen layers is used to lighten. If the picture is too light, then use multiply to darken. For each layer you have the option to select an opacity from 0 to 100%.
If using the latest edition of photoshop, under the Filter menu there are a number of Neural Filters to choose from to achieve the desired effect. When working on old photographs, two of the most effective filters are Colorize and Photo Restoration. After selecting the filter on a new layer, you may fine tune the process by moving the sliders. For photo restoration these are photo enhancement, enhance face, and scratch reduction, as well as some more detailed adjustments. For Colorize the sliders you may select a color profile from the adjustments as well as color artifact reduction and noise reduction.
To repair scratches and dust, the spot healing brush and the clone stamp tools are effective to smooth out the imperfections. Some other ways of fixing splotches or tears are the gaussian blur and median filters.
Once you are happy with the light, tone, and image detail, then you may export the image. Merge all of the layers to create one flat image and then save as the photo format of your choice.
You may check out some of Adobe's recommended photo restoration techniques here.