Try adding constraints to your parameters:
routes.MapRoute(
name: "Chapter",
url: "{chapterID}/{verseNumber}",
defaults: new { controller = "Chapter", action = "Index", verseNumber = UrlParameter.Optional },
constraints: new { chapterID = @"\d+", verseNumber = @"\d*" }
);
Make sure this appears before the default route.