512bit is more than they need by a massive amount and wouldn't add a "small" amount to the cost, the cost would be huge.
3gb is also complete and utter overkill, 99.9% of 7970's sold will be used on single screen systems at 1920x1080, its as simple as that. Likewise, you can't have 3gb in the current memory setup, 8x32bit memory controllers = 256bit memory bus = one chip on each memory controller = 8 chips. You can get 128MB chips, or 256MB chips now, which means 1 or 2gb, you can't have 3gb, its 1, 2 or 4gb. Adding massively to the cost to help 0.0001% of your users is completely mental, the same reason Nvidia didn't go with 3GB as standard, its nuts.
Most surround setups don't eat near 2GB of memory at 3x1920x1080, so again, who would 3gb help, just because in a couple games it makes a marginal difference over a 1.5GB 580gtx, that doesn't mean it needs 3gb, it could mean it needs 1.51GB memory.
a 384bit controller would mean, a vastly redesigned mem controller, re-organising the gpu completely as the memory controllers are usually spaced around the outside, it would mean changing all the data paths throughout the gpu, changing balancing, significantly increased PCB costs, more memory costs, higher power usage at idle and load, both due to more memory and a higher power memory controller which is where a pretty significant amount of the gpu's power gets used...... all to help 1 in every 50,000 owners?