There really are only three things that ruin grain and one of them doesn't count.
1 - rodents - simple solution, put in a rodent proof container
2 - moisture - simple solution, put in a container which will not allow moisture in
3 - bugs - bug larvae are in the grain and will hatch under certain conditions. The only true way to avoid those conditions is to freeze the grain for a day or more and most of us cannot pull that off.
With that in mind, here is my method which has worked for more than 10 years. I split the sack into individual gallon ziplocks holding 4lb each. Then I put the sacks either back into the sack the grain came in, especially if it is a woven sack with a liner sack, or into a large rubbermaid tub. Generally what happens when the bugs come out is they infest all the grain they are in contact with. Since the grain is in zips at most they infect 4lb unless ALL the zips hatch bugs. Keep in mind you can still brew with buggy grain, it will just freak you out a bit. Bugs tend not to hatch in colder temps so the cooler the grain is kept, the less likely it is to have bugs. I keep mine under the house in the crawlspace. Some mice and rat killer baits thrown around keep any mice away
I keep my caramel malts in 5 gallon buckets. As someone else pointed out, they will hold 25lb with ease.