Thank you all for the advice. I've tried to follow everyone's suggestions, and I have attached the result. If you still see room for improviement, let me know.
Without connecting lines, how do I know I've spotted everything connected to IC3 pin 6? Arguably it is possible on this small diagram,
but it becomes impossible on larger diagrams.
Consider scalability of your approach; for larger circuits, have hierarchical diagrams. Each diagram then shows a separate conceptual subsystem, e.g. analogue input, motor driver, controller, and there is a higher level showing just the subsystems and their interconnections. Analogy: in software you have a main() function which calls other functions, such as the pseudocode
controlMotor() {
setPoint = readVoltage1();
position = readVoltage2();
correction = pid(setPoint, position);
pokeMotor(correction);
}
int readVoltage1() {
...
}
int pid(int sp, int p) {
...
}
etc
How does the grid aid understanding? It doesn't, so delete it.
The schematic serves two purposes: to help engineers and technicians, and to generate a netlist. Sometimes those purposes conflict, e.g. with having "too many" power connections. Where necessary, have multiple different names, e.g. AGND and DGND.
"Generic" decouplers, especially for digital ICs should be grouped away in a corner, since they don't aid understanding and during layout are "sprinkled" across the PCB. OTOH, decoupling arrangements for analogue ICs are often shown on the schematic next to the relevant IC.