No, it's not poor business strategy. It's actually very smart business strategy, which is why teams are often locking up players before they hit free agency.
Of course there is always risk involved. It's not blind risk though, it's calculated risk. Porcello pitched poorly last year which makes the move seem really bad, but if Porcello just pitches at career norms, which there was no reason to believe he couldn't when he was given the extension, the extension looks very good.
I am of the opinion that if you know you want to keep a player, you should always try to extend him before he hits free agency.