Regarding squatting on crates, the price of owning a namespace should be in the usefulness of the crate to the community. Some of us feel like we paid that price with our time, effort and charity to others, and we sort of expect much the same from others.
I like your "publish or perish" idea, but would suggest dwindling renewals (6 months, then 3 months, then 45 days, then 22.5...) so that the squatter has to do ever more work and still couldn't create infinite ownership. Possibly revoked crates could just migrate to a longer less populated namespace so if user "greedy" created a "sexy" crate they could still access the crate at "zzzzzz_greedy_sexy."
And I'd suggest revoked namespaces be made available after a random number of days only to users with a prior history of active crates and no namespace revocations in the last 24 months.
A monthly rental fee offered after 6 months of empty & inactive or "flagged as squatting" with funds contributed towards a rust language non profit might likewise be a reasonable thing to do. Useful functional crate within 6 months of name reservation - utility price paid, yours mostly forever more. Vaporware? Thank you for supporting the Rust Language and its community at the $1 per month or $12 per year per seemingly useless crate level. Maybe Boats and Niko can get a new pair of shoes.
And I'd suggest that namespaces of a certain length really don't yet need to be part of any cleanup effort. I'm looking at you "myfirstlibrary." Everyone starts somewhere and should be allowed to learn rust and make mistakes at whatever pace they need.... And a 14 character namespace barrier to entry for first timers doesn't seem especially high.