There are also other historical reasons. It's traditionally the job of the pilots in the plane to keep track of its position, meaning giving them GPS was more valuable than giving position information to the ground. The US is just getting to the point where air traffic control can get GPS from planes, and that is based on ground stations which won't work over the ocean.
Which leads to the final issue, the outdated nature of the rocketry industry (and the intrinsic difficulty of getting to space), has made it very expensive to launch the satellites you need for worldwide communication. They exist, but they are much more expensive than any other way of communicating. Which means, if the airlines can piggyback on ground based comms (which they can), there's not much incentive to make that work over the ocean. Until you lose a plane.
As it should be. That's why they're safe and reliable. "Move fast and break things" is a good motto for a fighter jet, but not a good motto for building a fighter jet, much less a civilian airplane.
If they're 20 years behind "state of the art", then there's no technical reason not to have real-time live position feed from the plane. The technology itself is old. I'm willing to buy your argument about costs, especially wrt. satellites, but I still like for someone to explain to me why they can't just use GPS + Iridium. It's work, it's relatively cheap, and a small telemetry reading every minute (just position + attitude + airspeed + altitude) would help tremendously in case of anything - from an accident to kidnapping.
There are many figures citing 5,000 planes in the air over the United States at any given time. But especially for a tracker, you'd want to leave it on all the time the plane is turned on, so many of the planes on the ground would need to be tracked as well.
My guess is that, particularly for the U.S. and Europe, putting planes on the Iridium network would exceed the total capacity of the system all by themselves, even if there were no other Iridium users.
This is not a trivial problem to solve.
I agree it's not a trivial problem to solve, but it looks solvable.
They'll need to integrate with avionics networks that are crazy complex. The code on these avionics must be certified formally, line by line, with proofs. Then the electronics and code have to work in an insane range of conditions, while being bombarded with radiation, and never get anything wrong. These take a lot of time and money to develop.
Commercial aviation (i.e. in USA) is safer over the last 14 years than ever in history. You are more likely to win the lottery, and then be hit by lightning, than to die on a trip these days. The reason it's safe, is using 20 year old bullet proof technology, which is working just fine, but design.
Sadly, the leading cause of major crashes is now deranged pilots, and war.
SatCom is very expensive. Sure, oil is cheap this quarter, but once it climbs again, airlines will return to their 2% profit margins. Remember, for most of the last 20 years, airlines have struggled to break even. If blackboxes and telemetry must be transmitted via satellite continuously, the bill will be substantial. Remember, Iridium was so expensive the company went under. The cost would be Billions, not a "fraction of a million."
2. Does not prevent MH370
Everything on an airliner must have an emergency shutoff. Fire is the worst threat in the air. Swiss Air 111 crashed due to a fire in the cockpit wiring [1]. The first step if there is smoke in a cockpit is to pull breakers, to isolate the problem. Today the pilots can pull the breakers to the engines, flight computers, and black boxes. If these SatComm trackers were added, they would have been disabled by the same party that disabled all the other communications on MH370. As such, they don't fix the problem of a pilot that doesn't want to be found.