In a perfect world you would never have to worry about releasing players, because like you said, you would have the perfect plan. I'm definitely not advocating the releasing of players that still have value or still could produce on a ML level. What I'm talking about is what you briefly touched on - the aging vet who is starting to decline at a rate that will shortly have him on the FA list anyway.
Hypothetically if I have the chance to sign a 33 year old to a 5 year deal, knowing that he will only give me 4 and 1/2 good years better than any of my AAA replacements, I'll sign him in a heartbeat. If after those 4 1/2 years I no longer need him or he can't produce at a replacement level (ie his ratings fell off the face of the earth), then I have no problem giving him the axe. He'd be a 38 year old with no future value to my team in any shape or form. That's pretty much the only instances I feel comfortable releasing a guy with money left on his contract.
No one should ever be releasing young guys under contract and especially not early in the season. Like I said, I will only release a guy if he is at the very end of his contract, he's played at least half a season of that last year and I see no future value in him (in either the form of trade potential, Type A/B compensation, etc.).
I don't care if a guy can make my AAA team better...