For the pipes I think several people have offered better suggestions than just preventing mixing. The entire problem with pipes is that they are this special thing that users can't interact with, and they have all of these partial item and weird properties going on. If we could start over on pipes I think it would have been beneficial to treat them like fluid belts. My suggestion for probably another game would be something like this:
1. Put a static speed on the flow rate, that is well known. Belts all have static "flow" rates and it allows everyone to easily understand how much is moving down the belt.
2. Numbers should go back down to something manageable. Everyone knows you can fit 8 items on one belt square, a pipe should be able to hold say 8 or 10 items per pipe tile.
3. Allow fluids to just mix in the pipe. hover over it and you can see a section contains 5 water, 3 crude oil, 2 lubricant
4. Fluids can only move if there is room in an adjacent pipe. If there is no room then a fluid can't move.
6. Pipes can flow in any direction, but you can have T junction splitters were you can filter one of the input / outputs to only allow certain things to flow. (Since it can flow in either direction, you could say block a junction so that one side only allows crude oil to flow. This means it can pass either way through this, and would allow you to use that as a mechanism to prevent unwanted things from flowing. It would prevent certain fluids from both going into, and going out of a section of pipe.)
7. Items ability to move is going to be governed by consumption, not by production. Put water and crude oil into the same pipe, and have a factory only consuming water. If you have 9 water and 1 crude in that pipe, then 9 units of water will be able to flow provided you aren't pushing additional crude into the pipe. Then once you get more crude, the flow will start to fall off. If there is 5 crude units sitting in the pipe in front of a factory consuming water, then only 5 water units can make it into that factory at a time. Once you fill that pipe with other fluids then it will starve the factory and it will stop producing since no water can flow.
8. If nothing is in a pipe, then a consumption item (Factory, pump) is treated as a vacuum and can move up to 1 pipes worth of void per movement. If there are 10 items of "air" in the pipe, a factory will keep consuming 10 items per movement rate until it pulls a fluid to it. Once it pulls the desired fluid to itself it can start consuming it, or if it pulls another fluid then it starts cutting down how much of a vacuum it can create. (If we wanted tiers we could potentially cap low level things to say only consume 4 items / s, where larger ones can consume say 6, and the largest can move 10)
9. Allow the player to handle fluids, and store them in their inventory. They should be able to hand barrel fluids, so they can fix any pipe at any time.
Using the t junction would allow you to fix busted lines. simply drop a t junction down on a line, put a filter on it for a certain item. Then you need a pump so it can "consume" items, and finally put them into storage. (Basically the equivalent of inserters putting items into storage chests) We could also have "filtered pumps" so if you wanted to you could toss one of those down right next to a pipe, and have it pull certain items directly off of the pipe. It would be a similar mechanic to the t junction, but pumps are one way where a t junction is two way.
No need to worry about fluid mixing
Provide ways to actually fix when a fluid mixes with another fluid
Allow pipe reuse so low consuming entities can share a pipe
Provide a new mechanic that is similar to an existing one, but still works in a unique way
Provides a way to actually calculate item movement
Retains two way flow, which makes it unique to belts
More complex to manage
Can cause input problems until players learn how to deal with them
May be CPU intensive since you can't just rely on items only traveling in one direction at a set speed like belts do
I'm sure there are a number of holes you can poke into my idea, but I think overall it would fit into a Factorio like game. It provides something for people to optimize and obsess over, but it doesn't have all of the unknowns the current pipe system has. Everything should be something that can be calculated out, and would provide unique challenges while retaining some consistency with current game items.