There's no best size, really. It all depends on the situation. It's great if you can fade an image out at the edges. If not, you have to decide if it's essential for the image to fill all screens or not. (Some screens are huge, like TV screens.) These days, a great option is the new background-size property. E.g.
You need to optimize your image, anyhow. A good option is Save for Web in Photoshop. Anyhthing over 200kb is way too big. Some people serve up bg images of a MB or more, which is a total #fail and a sign of an amateur.