Now we only need to worry about the small matters designing an alternative system that acheives what the domain name system does without those draw-backs, and convincing people to use the new system...
Even if you go for something like QR codes you want a method that doesn't rely on encoding the fixed network address of a resource (as fixed addresses are usually not as permanently static as they are initially intended).
They are not trivial solutions to the problem, but the fact that they are in use makes its plausible that a solution can be found.
That would help to make sure you got the right page, but wouldn't help you find it.
Your other suggestions (e.g. a list of IP addresses/ports) are basically just reimplementing DNS, but with more complexity. :-)
The current DNS system is based on a central service authority, which creates a monopoly on an artificially scarce resource. If the whole web went IPv6 and no web server had to share an IP with another, private address book names, shared via social connections, could handle the naming of everything out on the long tail of site popularity, and the largest sites could continue using whatever makes the most money for them. I can input names myself to attach to the phone numbers I know, and pass them to a friend with a NFC tap or message, so I could potentially also do that for IP address numbers.
I don't particularly want my ability to use the web controlled by ICANN as a single central authority, especially as I perceived the recent TLD sale as a blatant cash grab. The central authority has to be trustable, and I don't fully trust it.
There are a bunch of decentralized possibilities out there: IPFS, Tahoe-LAFS, MaidSafe, and so on. None of them are ready yet, except (for some purposes) FreeNet and Tor Onion Services, and it's going to be a lot of work to get them to work, and probably some of them are simply unworkable. But this is a really, really important problem to solve, and it's solvable.