I've gone every year but last Spring and have always stayed in Cocoa Beach. Viera has been developed in recent years, but it is more of a new residential community than a tourist location. You may run into players eating out at the Steakhouse there after games, and some of the media stay in the La Quinta and other motels nearby. But you don't need to stay there because of that. The overall area including Cocoa and Melbourne only have so much to offer, so unless you want to avoid driving altogether, I would make your base where you think you would most like to vacation. That could be Cocoa Beach if you like the Ocean, or some place along one of the rivers or even Melbourne depending on your taste.
Staying at Cocoa allows for easy access to the beach, an easy 30 min or less drive to Viera for games, and places like Cocoa village in between. There's also Cape Canaveral right up the strip from Cocoa Beach.
It's important to remember that there are only so many home games in a week and only so many other things to do, so you want to make the most of it. And one rainout can really limit the action if you don't plan to take in other stuff. I do highly recommend setting aside at least one day to get to Space Coast Stadium early enough on game day to take in the BP and the minor league camp. The games are fun, but the minor league camp allows you to immerse yourself in the action with four fields all around you.