OK - but the A330 is a completely different class of aircraft to the 747....
It may be that Air China have cut longer, denser routes, and just no longer require the 747 no matter what fuel costs.
The 747 is in, effectively, a class of its own (at least until A380 comes onto stream properly). It lifts lots of people a long way. If an airline wants that, it chooses the 747 - or if it can get them, and the aircraft fits the route, the 777. If it decides not to fly the long, heavy routes, it may well drop the 747 from its fleet.
Well yes may be.......its looking like airlines are moving towards temporarily / long term ground their 747 a/c.
As Eastern did with the J31, as bmibaby are doing with the 737-500, as Air France did with the Mercure, as BA did with the TriStar.....
It's just fleet tweaking. Don't read "they are dumping the 747 because they are financially stuffed/short of cash/can't pay the fuel bill" into it.