Since the mapping space $map (BU(n);K(\mathbb{Z},2k))$ does not have contractible components, you need to make non-contractible choices somewhere. I understand Andre's question in the sense that you want as few choices as possible, and that the choices look more 'natural' than just picking cocycles for all Chern classes at random.
Here is an attempt for a construction for $\it{integral}$ coefficients. It does not quite work, but if you pass to $\it{rational}$ coefficients, the construction depends only on two noncontractible universal choices.
-(a) Fix an actual map $MU \to H \mathbb{Z}$ of spectra, implementing the Thom class of complex vector bundles.
-(b) Fix a cycle representing the generator of $H_2 (BU(1);\mathbb{Z})$ dual to $c_1 (L_1)$.
Choice (a) should give cocyle representatives for the Thom class of all of the universal bundles $L_n \to BU(n)$.
As for an arbitrary rank $n$ vector bundle $V \to X$, the space of bundle maps (fibrewise isomorphisms) $V \to L_n$ is contractible, the construction yields cocycle representatives for the Thom classes of arbitrary vector bundles, unique up to contractible choice once (a) is fixed.
Since the top Chern class $c_n (V)$ is given by pulling back the Thom class along the zero section, we obtain cocycle representatives for the top Chern class, unique up to contractible choice.
The lower Chern classes $c_k \in H^{2k}(BU(n);\mathbb{Z})$ can be defined by the following recipe: consider the external tensor product $L_n \boxtimes L_1 \to BU(n) \times BU(1)$. We can write
$$c_n (L_n \boxtimes L_1) = \sum_{k=0}^{n} c_k (L_n) \boxtimes c_1 (L_1)^{n-k}
$$
using the Kuenneth formula. Using the slant product, we can rewrite this formula as
$$
c_k (L_n) := c_n (L_n \boxtimes L_1) / b_{n-k}
$$
where $b_{n-k} \in H_{2n-2k}(BU(1))$ is the homology class with $\langle c_1 (L_1)^{n-k},b_{n-k} \rangle =+1$.
To turn this into something on the chain level, observe that the slant product is defined on the (co)chain level, depending on the (contractible) choice of an Eilenberg-Zilber map. Furthermore, we need cycles representing $b_{n-k}$.
With rational coefficients, such cycles can be defined using only the choice a cycle representing $b_1$, since you can recover $b_{n-k}$ as the $n-k$-fold Pontrjagin product of $b_1$, divided by $\frac{1}{(n-k)!}$.