We can immediately discount a naïve timeline of events. Say events will appear in the timeline when they originally happen – that's not going to work, because it's be buried within an hour or two, regardless of the importance.
Maybe events' places in the timeline could be based on when they were last "updated", as in liked, commented on etc. – that's probably more appropriate, but raises prioritisation questions. And let's say somebody catches up after a week, and comments on an older status - does everybody need to see it again?
So something more complex is required - the simple timeline's no longer appropriate, even in relatively straightforward cases, given the volume of friends that many users have. It seems pretty obvious then to build something like a friend graph, with edges weighted based on e.g. frequency of interaction and mutual friend count, and use that to weight news items. As far as I know, that's what Facebook is doing.
Personally, I do prefer the simple timeline – but that's because I've been using Facebook since it was first available at my university, and I don't have a huge friend list. But I appreciate that's probably not applicable to most users, and when I do look at my news feed, it does seem to do a pretty good job of prioritising things I'm interested in - especially if you engage a little bit and downrank/hide posts that you don't want to see.
It means not placing content customers don't want in equal or more prominent positions than content that is important to them. I don't want highlighted ads inline, pushing content that I want to see down off the page (and exacerbating the naive solution you mention of displaying things in chronological order).
This is not to say that I don't agree with your correct insight on the technical difficulties, but want to add that I think part of the problem of the problem of "natural" is not just the complicated algorithm of showing relevant information, it is the fact that Facebook is prioritizing things customers don't want in that algorithm.
Also annoying you can't find any posts older than a few days. There isn't a page 2 or anything, the feed just stops.
Not everyone has 500 people that post regularly, and it's possible to disable people who you don't know well from being visible in your feed. There are options like "show most posts from this person" or "only important" or none at all, though they hide them.
There are other possible ways to manage large amounts of content. Google reader had a nice system where it shows you how many new things from every source and you can select the ones you want to see. Reddit lets you individually subscribe to a large number of completely different subreddits and it manages sorting by votes.