Usually when laying out a board with many components, I tend to group things up into modules. It's a iterative process, and you never get it down in one go. But it becomes much more intuitive when you are dealing with higher level 'modules' rather than individual components.
For example, your group your micro and it's respective bypass caps and anything else together, power regulation together, any ICs that share functionality together. At this point you are dealing with placing 5-10 groups of components rather than hundreds of individual components.
Usually you have the 'driving' components that must be placed in some arrangement, and the subsequent components are driven by constraints like short trace lengths. For example you want your voltage protection and power regulation close yo your power connectors. You want to keep any noisy analog signals away from your sensitive data lines. Etc.