Comment below rating threshold, click here to show it.
My suggestion is simple.
It is in the nature of online play that you may meet cool people and you would add each other to your friend's list, and it is the nature of online play that one of you will move on to a different game or grow apart after some time.
Unlike in real life, this is often natural and predictable in online games like League.
Problem is, this creates clutter in people's friend's list (many, many friend's lists).
I have had a few ideas on this topic before, and this is another one.
What I suggest is simple. After a while, a friend who didn't log on will gradually become greyed out, and will eventually either be removed automatically or moved to a special group (The Recycle Bin), where we may remove them at our leisure (empty recycle bin, sound familiar?)
You would be able to disable this feature if it bothers you, or simply disable it for certain friends whom for some reason you would like to keep on your list. (And there are quite a few of those reasons, something which I wont' get into at this time).
Alternatively, you may simply make the list sort automatically based on the last time someone logged in.
This will allow you to keep your list clean and compact, showing relevant friends first, and "expired" friends later.