Stuart, I believe it really depends on a programmer's skill to optimize loading routins. There is no magic wand solution to that. Some games quickly load simple intro animation, and while it's running, they load the rest of the code so you don't notice it so much.
Some games use clever loading routines and predetermine what should be loaded next into a buffer, so that when you get to that point, it just pulls data from that buffer.
Some games apper to use this in a very complex way. Jak & Daxter gives you the feeling that you can go anywhere, anytime and see no loading screens, as long as you traverse on foot, and not jump from teleport to teleport...
Disc layout is also very important. You don't want to scatter your files around so that the file system has to force CD laser to run back and forth. When you know which files have to be loaded for a certain game level, you will want to line them up so that the CD can read them in a sequence, which is much faster.