It's true that it would have make sense to embed IPv4 address space into IPv6!
It's true that it would have make sense to embed IPv4 address space into IPv6!
To have an "extended IPv4 space" you must change all hardware and all software to be aware of that extended space. Hardware/software/networks that haven't been changed yet won't be able to use or route "extended" IPv4 packets. Such a situation has all of the same problems as IPv6.
Given those fundamental limitations plenty has been done to make inter-operating between protocols work as well as possible.
The ::ffff:/96 space was set aside as the "IPv4 embedded in IPv6" space (http://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses) so that IPv6 aware software can talk about IPv4 addresses. Though cannot talk to them because there is no way to encode the 128 bit return address in the 32 bit field.
IPv4 was extended with the protocol 41 header option to allow two IPv6 systems to exchange IPv6 packets over the existing IPv4 network (this is how 6to4 and teredo/6in4(tunnelbroker) systems work). This effectively means that anyone with a public IPv4 address (or in the case of teredo even some systems behind NAT4) can talk to IPv6 machines albeit through translation mechanisms that can hurt performance.
edit: Actually, now that I think about it, accessing IPv4 internet from IPv6-only LAN should be almost trivial. Lets say you happen to have 3000::0 IPv6 network completely unused, which also fits the entire IPv4 address space. Then you could configure your DNS server to respond to AAAA queries for domains that have only A records with an corresponding IPv6 in your free block. Ie news.ycombinator.com(174.132.225.106) would become 3000::ae84:e16a or something like that. Then your router which is default gw for the hosts receives a package destined to that special network, it takes the payload and puts it into a IPv4 packet with destination decoded from the IPv6 address.
It seems kinda obvious approach, wouldn't require any modification of the hosts or to the internet. Of course I don't know why anyone would want to run a IPv6 only LAN instead of mixed v4/v6, but maybe there is some reason to. Are there some problems that I haven't noticed? Surely someone must have thought about this before.
Effectively they give devices IPv6 addresses only and run a DNS server that makes up "fake" IPv6 addresses for all of the v4 only DNS records. It works well except when applications embed IPv4 literals (as they won't go through the DNS system and get translated)