I must admit that I like the D&D way - but I make my bards list them in order - and each two down the list get's a -1 effective rank.
So if you had 6 ranks and your instruement list was (Lute, Recorder, Pan pipes, Didgereedoo, Jews Harp, Lap Harp) then you would have 6 ranks in Lute, 5 in Recorder and Pan Pipes, 4 in Didge and Jews Harp and 3 on the Lap Harp)
What that means is that their first instruement is always the one they would be best at, by the time they become really good, a new instrument starts with a fairly high level, every time they improve, all of their instruements improve.
I also allows bards to gradually change the ordering of their instruements, but I didn;t formalise things into rules. If I had to formalise, I would allow an instruement to swap with and adjacent one once per raise of perform (ie next level, as well as adding the Floor Harp, the above bard could swap recorder and lute arround). This would allow some movement but not radical reshuffling.
Once I make a set of variant rules, this will probably be introduced (together with level limiting for starting characters)