I think I solved the problem, but please watch this thread for few weeks still
First of all, I took a simple PCF8591P module. It's only 8-bit and Vref is pretty high (5.17V).
I put a low pass filter to all inputs. First one measured came from power supply (USB and to 5V rail of RPI) and differs (compared to my DVM) by only 0.013V. Second one was 5V rail or RPI and difference was similar like 0.011V. On 3V RPI line difference was only 0.006 an that's really impressive and satisfies me. 5V rails still dont...
I'm wondering now why my DVM always shows higher voltage and which tool should I trust more - DMV or PCF ? . I don't know how DVM calculates voltage (average, min/max?) and what interval it takes, but with this low pass filter on each input - 10kOhm and 100nF all look better. No more 20-50 mV difference.
What else could I do now to reduce this difference more ? Throw away DVM (Uni-T UT60A) or put some capacitors on RPI ?
Right now I'm powering it through GPIO 5V/GND.
Oh, and btw, I use breadboards for these tests, so nothing is soldered.
Now I will try to check MCP3424, but don't know how to split voltage as its Vref should not exceed 2.048V when in fact, I'm going to measure from 3.3-5.6V. I know, I know...resistor divider, but believe me, I tried to find two same ones (10k, 4.7k) but couldn't find a pair with EXACT same resistance so voltage was not split into two exact ones. 10k was sometimes 10.1 or 9.8. I also tried to split into different voltages (using different resistances), so that I could have 1/4th from 5.17 but never got close to that - possibly due to inaccurate dividers.
usb and broadcom issues will never be solved...Too much time passed, too much to be done...