Try this: https://coinmarketcap.com/tokens/
They are listed by market cap which might be a good indicator.
is mostly outdated and can't get compiled any more with latest solidity compiler versions
That doesn't make sense. Contracts don't get outdated. Bytecode remains on the chain. Only the compiler evolves and with it the Solidity language (the most prominent of several languages, but not the exclusive language.)
These contracts are all compilable using the same version of the compiler that the code targets, probably not the latest.
Most of those contracts will have verified source code on Etherscan. After all, why should anyone get involved with a contract they can't read? You can find your way there from the "explorer" link on CMC. Those are only for convenience.
Explorer => contract 0x9f8... => code
Example:
https://etherscan.io/address/0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2#code
There's the code/ Note, the header info says it is compiled with solc 0.4.18
. If you do that yourself, your bytecode should be a perfect bitwise match to the bytecode on the chain. Indeed, that is how Etherscan compares to give it the "verified" stamp.
Hope it helps.