Data used to create a network from has special considerations when cleaning, as minor spatial errors can lead to major bugs in connectivity.
What techniques could be considered best practice for cleaning spatial network data before building a network model?
To set the ball rolling, here's what I can think of
Make sure your GIS doesn't hide topology errors (as ArcMap can), or that if it does, the network build process is designed to account for this (as Arc Network Analyst does). Understand how and why this happens.
Use the topology features of your GIS - e.g. Arc Topology, Autocad Drawing Cleanup. Detect all polylines that come within a tolerance of one another, or touch or intersect, without being noded (i.e. that are not broken at the intersection point). Overshoots and undershoots fall into this category. Check them for errors (depending on your representation they may represent bridges/tunnels, or they may not). Use automated repairs if they all look like errors and manual repair is infeasible.
Also check for link endpoints that fall within a certain tolerance without being coincident. Use automated repairs if they all look like errors and manual repair is infeasible.
Gradually increase the tolerance in the above two steps until you are certain that all features thus detected are intentional.
Build the network, compute connectivity for each junction (the number of links that join it). Check (ideally) all of them or (probably) a random sample to ensure they are what you expect.
Sort all the polylines in your model by length, and starting with the smallest length, check them manually (possibly with the aid of the computed connectivity data). Very short network links are usually errors, and may be messing up turn angles etc.
Anything I've missed there? Feel free to either describe or link to good offsite resources.