I do not start the engine unless I am going to ride the bike 20 miles to more fully charge the battery. My last Walmart battery lasted 7 years. I think it was partly luck. I replaced the original battery after a year, but it turned out to be a problem with the auto fuel valve stuck closed instead of the battery.
I do not use a battery charger, except to fully charge a new battery before installing it according to the battery directions, and the longest I go without riding in the winter is one month, because it gets below 40 degrees F for a daily high temperature.
Also check the tightness of the battery terminals- sometimes they get loose from vibration and cause battery problems. I added stainless steel lockwashers at the battery terminals when I replaced the battery.
Another trick is to put some red plastic spray can narrow tube extensions under the terminal nuts when installing a new battery, to make it easier to start threading the terminal bolts in from above, then remove these tubes afterwards.