You've likely heard this before, but have you actually tried it yet? Donate the toys that they rarely play with and let them in on this. Have THEM call the donation shots. In my experience, parents are always more likely to hold back than their children when it's time to let things go. Don't force kids to keep something just because you spent good money on it. The money is gone anyway, and they're clearly not playing with the toy. Move on!
2. Avoid Sub-Categories.
This surprises a lot of people, but when it comes to young children, I never recommend sub-categorizing their toys. If you have a cute, good-sized basket in the corner of your living room and your children can manage to clean up their toys and get it into this basket, do that. It's okay if trucks are mixed with Barbies and Mega Blocks.
3. Keep the toys where they play with the toys.
If you have a playroom, but your kids never go into it except to pull toys out and bring them into the living room - reevaluate. Can you instead plan to keep their favorite toys in the living room? Most kids just prefer to play in the common areas where everyone is hanging out.
4. Teach habits.
Sometimes we just don't give kids enough credit. They're totally capable of picking up after themselves, even if they don't always want to do so. Choose whichever tidy-up habit works best for your family, but do at least pick one. Sometimes this is having kids put one toy away before getting out a different one, sometimes it just looks like cleaning up everything when the play is over. Either way, the easiest way to deal with messes is to take care of them as they happen. Don't let it accumulate!