Scrum isn't meant to solve problems, it's meant to reveal them so you and your team can solve them yourselves. Scrum is a framework and doesn't prescribe any development practices. Rather you use the framework and iteratively insert your own practices and processes, regularly inspecting and adapting those practices and processes over time to fit your goals.
Stop blaming the framework for a lack of discipline.