Google famously had the concept that their employees could use 20% of their time to work on anything they wanted. This was meant to give their developers time to experiment and try out new ideas that they wouldn't have otherwise had time for. Sometimes these ideas turned into products and most of the time it didn't, but I bet their employees were always learning something that made them better and benefited the company as a whole.
Most companies are probably not likely to want to "give up" 20% of their employees' time in this same way.
My company generally has an all developer meeting on the 1st Friday of the Month. We get caught up with different projects and a look into what is coming up. We also have a Developer User Group where we will internally have a speaker from one of our teams showcase something they have been working on or something new they learned about.
My thought is to combine all of those ideas into what I call "Innovation Friday." We would start of the day with the meeting and end the day with the Developer User Group. The rest of the day would be devoted to innovation. Developers would not focus on new features that are in process, but instead be able to focus on other things. This could be just refactoring a portion of a system that they see a need to clean up. This could also be spent with members from different teams in an effort to learn from what other teams do differently. It could be developers forming new groups to work on something together, for example and angular directive that would be used by everyone and provide consistency across teams. It could be used for dedicated training as well. Really anything that gives teams a little break from the norm and gives them an opportunity to focus on something different and hopefully solve some different problems.
This would be roughly 5% of an employees time which seems more likely to be approved by the business.