the ruling is right in the mainstream of case law. It is standard to look at the context and object of the law when interpreting particular provisions, so nothing unusual there.
In a larger sense, what the Court is once again saying is that this is a political problem and it is up to voters and Congress to fix it, not the Supreme Court.
This is a narrow ruling, since it only applies to the interpretation of that section as written, Congress is, of course, free to amend the law to explicitely provide that no one will get federal subsidies in states that have not set up their own exchanges...if they so wish...