Consider the monomorphism A→A** of Banach spaces.
Here A** denotes the second dual of A as a Banach space.
The Banach space A** is a von Neumann algebra with the predual being A*.
See Section 1.17 in Sakai's C*‑algebras and W*‑algebras.
We have a commutative square of Banach spaces consisting of morphisms
A→A**→B** and A→B→B**.
Thus we can pull back the ultraweak topology on A** to A
and obtain a functorial topology on C*‑algebras due to the commutativity of the square above.
Henceforth denote by A* the dual of A in the new topology and
by A** the dual of A* in the norm topology
If the canonical morphism A→A** is an isomorphism, then A has a predual,
therefore it is a von Neumann algebra.
Unfortunately, if A is a von Neumann algebra, then the functorial topology
does not coincide with the ultraweak topology
and the canonical morphism A→A** is not an isomorphism.
We can fix this problem by composing the monomorphism A→A** with the multiplication by a certain central projection.
However, the definition of this central projection relies on the fact that A is a von Neumann
algebra and I don't see any way to extend it to arbitrary C*‑algebras.