I've not encountered this issue before, but I don't think I've encountered a list with over 50 public views either.
You may also want to consider just using either a content query web part or search webpart and customize your view from there. You then have flexibility in using XSLT or display templates. You can still link back to the actual calendar list view for users that want to use the published view types.
Back to your specific request. One method I can think of is setting it via PowerShell
Disclaimer: I pulled this together from some older scripts I had but have not had a change to validate it directly - may need slight adjustments.
$web = Get-SPWeb "https://<My Site URL>" #web where page lives
$page = $web.GetFile("Pages/default.aspx") #page where webpart lives
$page.CheckOut()
$webpartmanager = $web.GetLimitedWebPartManager("Pages/default.aspx", [System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
for($count=0;$count -lt $webpartmanager.WebParts.Count;$count++) {
if($webpartmanager.WebParts[$count].title -eq "Calendar"){ #change this to your webpart title
$wp=$webpartmanager.WebParts[$count];
$wp.ViewId=<view ID number>;
$webpartmanager.SaveChanges($wp);
break;
}
}
$page.CheckIn("Relevant Articles")
$page.Publish("Relevant Articles")
$web.Update();
$web.Dispose();
You should be able to get reference to your webpart and export the ID's available, the trick part is correlating them back to your actual list view page.