Boca Chica is really the closest beach to SD and this is why it can be over-crowded on weekends. If you do not mind extra 10-15 min. driving, check out Playa Caribe between Boca Chica and Juan Dolio: not as crowded, less annoyance from people trying to sell you souvenirs, generally better public around and nice restaurant Caribbean Sun.
However waves can get strong, so snorkeling may be difficult, and there are no food stands and cheap drinks around, so bring your own cooler with supplies.