How big are your clusters? Could you make them small enough that you may census each cluster?
If you are collecting quantitative data, and you want to infer to the population, you can use a probability-of-selection-based (design-based) sample, such as randomly drawn cluster sampling, or you can use a model-based approach, or some combination. (There has also been a lot of work done on pseudo-random sampling and the use of many covariates.) But using nonprobability sampling as you suggest makes inference problematic. However, if you pick the clusters randomly and census the ones you pick, then you could avoid that problem.