RE: Flinching
First off you do not pull the triggers the same way on shotguns and rifles. A shotgun is suppose to be pulled quickly or "slapped" when shooting at clays and birds. A rifle trigger is suppose to be squeezed until it finally releases and should surprise you some what.
It sounds like you have learned how to shoot a shotgunbut no one has taught you how to properly fire a rifle.
There is only one way to fix this problem. Start out withyour center fire rifle and practice dry firing it (EMPTY CHAMBER)in your house. Concentrate 100% on simply squeezing the trigger until you have it mastered. I like to do this while aiming at the animals on the television on the hunting shows.Then go to the range with a .22lr and do it with live rounds. Then move up to your centerfire rifle at the range. If your shoulder gets sore then stop shooting immediately.
Basically you just have to let the gun kick you. It's not like it kicks any less if you flinch. It actually hurts less if you let it kick you naturally and don't get all tenced up and fight it. If you just let it kick you your body will move with the gun instead of fighting it and this moving with the rifle will lessen the felt recoil. This does not mean to hold the gun loose.Pull the gun tight into your shoulder and let your BODY move with the shot.