I believe this is worked out very nicely in "Geometrization of Three-Dimensional Orbifolds via Ricci Flow" by Bruce Kleiner, John Lott (http://arxiv.org/abs/1101.3733).
An atlas for an $n$-orbifold $\mathcal O$ consists of a Hausdorff paracompact topological space $|\mathcal O|$ together with an open covering $\{U_\alpha\}$, local models $\{(\hat U_\alpha,G_\alpha)\}$ ($U_\alpha$ connected open subset of $\mathbb R^n$) and homeomorphisms $\varphi_\alpha:U_\alpha\to \hat U_\alpha/G_\alpha$ satisfying a compatibility condition. An orbifold is then defined by an equivalence class of such atlas. (See page 6 of Kleiner-Lott.)
A smooth map $f:\mathcal O_1\to\mathcal O_2$ between orbifolds is given by a continuous map $|f|:|\mathcal O_1|\to |\mathcal O_2|$ with the property that for each $p\in |\mathcal O_1|$, there are local models $(\hat U_i,G_i)$ ($i=1$, $2$) and a smooth map $\hat f:\hat U_1\to \hat U_2$ equivariant with respect to a homomorphism $\rho:G_1\to G_2$ such that $\pi_2\circ \hat f = |f|\circ \pi_1$ where $\pi_i:\hat U_i \to U_i$ is the projection ($\rho$ is not required to be injective or surjective). (See page 7 of Kleiner-Lott.)
I think this satisfies your requirements and is in the spirit of Thurston.
Edit: Perhaps I should mention Remark 2.8 in the Kleiner-Lott paper (also in regard to other answers to this post), which recalls that an orbifold can also be seen as a smooth proper étale grupoid (and Morita-equivalent grupoids correspond to equivalent orbifolds). A grupoid morphism gives rise to an orbifold map, but these correspond to a stricter class of maps called good maps. The advantage of these maps is that one can pull back orbi-vector bundles.