I think the positionless approach will lead to cases where it isn't fair either. I am fine with positions, in fact I think there should be 5 defined positions (traditional PG, SG, SF, PF, C). Allow players to have a primary position and a secondary position. Brown would be primary SG, secondary SF. Embiid could be primary C, secondary PF. Voters have to put them into one of the two positions, but they can do either. Doncic for example could be PG or SG but you couldn't stick him in a forward.
Then rank them the same way they do now but start with the highest point getter and put him into his primary position. Then the next highest point getter. If that person's primary position is already full, slot them in the secondary. If the secondary is already full (with someone with more points) to, tough luck, you go to second team.
For Embiid, it may not make any difference. Giannis is likely the PF and Jokic is likely the center but if Embiid ended up with more points than Giannis, Embiid would be the PF and Giannis could be a SF (if that was his secondary position). Or one of these 3 has to go to second team.
For Brown, voters would have the flexibility to vote him is as either as SG or a SF. Then, if he has more points than all the other SG and SF, he gets in to one or the other. But Embiid couldn't take his spot.
My approach wouldn't solve every problem but I think it would result in the most overall fairness. Someone like Embiid would get a second chance at a realistic position, but you also don't end up with 2 PGs and 3 Cs or something like that as the first team all NBA line up. You still end up with a first team all NBA that could actually work on the court.