Things that help reduce felt recoil, in order of cost:
Proper shouldering/mounting of the shotgun, tight in the shoulder pocket and a tight cheek weld will help immensely. I usually experience more cheek sting than shoulder sting.
Low Recoil/Reduced Recoil Ammunition, available in everything from birdshot to slugs.
PAST Recoil Shield, a shoulder mounted closed cell foam/nylon recoil pad available in Magnum and Double Magnum types. These will reduce felt recoil 50-75%. I can shoot roughly twice as many buckshot and slugs when wearing one of these, with no bruised shoulder afterwards.
A quality recoil pad. Lots of older shotguns, including the Remington 870 Express the OP mentioned, have rubber recoil pads that can harden up over time, negating the felt recoil absorbing aspects. The newer pads made from the softer Santoprene rubber, like the Limbsaver and the KICK-EEZ, are worth their weight in gold.
Porting, Mercury Recoil Reducers, and spring loaded recoil reducing buttstocks like the Endine and the Compstock work well but each of these cost about 100 bucks a pop and up. Porting works better with the heavier loads than the lighter loads, especially at reducing the muzzle rise of the shotgun, but at a cost of a louder report closer to the shooter's face.
Having the shotgun professionally fitted to you. In my area the fitting/measurements is about 200 bucks and the stock modifications another 200 bucks. Works wonders for your shooting, especially if you shoot in competition. Keep in mind though if you substantially gain or lose weight, especially in the facial area, you might have to have another fitting done.
Buy a semiautomatic gas operated 20 Gauge shotgun
.
Just my .02,
LeonCarr